【MFC相关】MFC入门相关
生活随笔
收集整理的這篇文章主要介紹了
【MFC相关】MFC入门相关
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.MFC的“匈牙利標識符命名法”,這是一個約定,可以增加代碼的可讀性:
- 聲明或定義了一個類,那么這個類可以以“C”(class)為前綴,如CHelloWorldDlg類;
- 定義一個無符號型的局部變量,可以用“u”(unsigned)為前綴,如UINT uPort; ULONG uFlags;
- 如果是int或long類型的變量,則以“n”為前綴;
- DWORD類型的變量前綴為“dw”;
- 字符數組以“sz”作為前綴;
- CString類的對象以“str”作為前綴;
- 指針以“lp”或“p”(long pointer或pointer,在WIN32環境下這兩種指針并沒有什么差別)作為前綴;
- 引用以“r”為前綴;
- 布爾型變量以“b”為前綴;
- 句柄型的變量以“h”(handle)作為前綴。
- 如果變量是全局的,那么以“g_”(global)開頭,如BOOL g_bFlags;
- 如果是類的成員變量則以“m_”(member)開頭,如HICON m_hIcon;。
?
2.對話框資源與類的綁定:
1 enum { IDD = IDD_HELLOWORLD_DIALOG };?
3.成員函數:
- virtual?void?DoDataExchange(CDataExchange* pDX);是用來支持DDX(對話框數據交換,將一個變量和一個控件進行綁定的時候用DDX)和DDV(對話框數據效驗,檢驗該控件是否為你所需要的時候用DDV)機制的成員函數。
- virtual?BOOL OnInitDialog();是在對話被創建(Create)后立即被執行的函數,因此在這里可以添加對話框的初始化所需要的自定義代碼。
- afx_msg?void?OnSysCommand(UINT nID, LPARAM lParam);是對話框的處理WM_SYSCOMMAND消息的函數。WM_SYSCOMMAND消息是關于系統控制的消息,如鼠標在標題欄上的操作等。
- afx_msg?void?OnPaint();是對話框處理WM_PAINT的函數,當對話框窗體發生重繪時有WM_PAINT消息到達程序。
- afx_msg HCURSOR OnQueryDragIcon();當用戶拖動最小化窗口時系統調用此函數取得光標顯示。
- afx_msg?void?OnBnClickedHelloworld();是處理按鈕單擊消息的處理函數。
?
4.Edit控件:
- GetDlgItem()函數是獲取的其文本內容,獲取數值:int?nValue = _ttoi(strInput);的方法來轉換。
- 右鍵點擊添加的控件,選擇“添加變量”菜單項,設置其訪問屬性(建議用protected);在類別中選擇Value(默認是Control);設置int和變量名m_nValue,點擊完成按鈕。完成“添加變量”向導后,在DoDataExchange()中,系統自動添加了一條語句:DDX_Text(pDX, IDC_INPUT, m_nValue);意思是將ID為IDC_INPUT的控件與m_nValue成員變量進行綁定。當程序執行UpdateData()的時候,數據便開始進行交換,數據交換方向由UpdateData的參數確定。
- UpdateData(TRUE);就是讓文本框的值更新到m_nValue里,如果是UpdateData(FALSE);就是將變量中的數據返回給文本框里。
?
5.Check控件和Radio控件:
BOOL bState; bState = ((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck();//獲取復選框狀態,一定要再獲得CWnd指針后,強制轉換為CButton指針 ((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(1); //設置單選框狀態為選中?
轉載于:https://www.cnblogs.com/imagezy/p/4569123.html
總結
以上是生活随笔為你收集整理的【MFC相关】MFC入门相关的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【IT之家评测室】ROG 幻 16 经典
- 下一篇: 苹果公司的新的编程语言 Swift 高级