日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【MFC相关】MFC入门相关

發(fā)布時(shí)間:2023/12/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【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)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。