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