VS2010-MFC(常用控件:静态文本框)
?
轉(zhuǎn)自:http://www.jizhuomi.com/software/179.html
?
關(guān)于對(duì)話框的使用和各種通用對(duì)話框的介紹就到此為止,從本節(jié)開(kāi)始將講解各種常用控件的用法。常用控件主要包括:靜態(tài)文本框、編輯框、單選按鈕、復(fù)選框、分組框、列表框、組合框、圖片控件、列表控件、樹(shù)形控件和進(jìn)度條控件等等。本節(jié)教程先來(lái)講解靜態(tài)文本框的使用。
?
???????控件的通知消息
?????? 在將靜態(tài)文本框的使用之前,先大概講講控件的通知消息。
???????當(dāng)控件有事件發(fā)生時(shí),它會(huì)向父窗口發(fā)送通知消息。最常發(fā)生的事件就是鼠標(biāo)單擊了,此時(shí)控件會(huì)向父窗口發(fā)送BN_CLICKED消息,實(shí)際上也就是給父窗口發(fā)送WM_COMMAND消息,在wParam參數(shù)中包含有通知消息碼(鼠標(biāo)單擊時(shí)的通知消息碼就是BN_CLICKED)和控件ID,lParam參數(shù)中包含了控件的句柄。在MFC消息映射機(jī)制概述中講過(guò),消息就是由三個(gè)部分組成:消息值、wParam參數(shù)和lParam參數(shù)。
?
?????? 為控件通知消息添加消息映射和消息處理函數(shù)的方法,之前不止一遍講過(guò)了。現(xiàn)在再來(lái)具體說(shuō)明下,控件的消息映射宏的格式大致是:
?????? ON_通知消息碼(nID, memberFun)
?????? nID參數(shù)是控件的ID,memberFun參數(shù)是消息處理函數(shù)名。例如,ON_BN_CLICKED(IDC_BUTTON1, &CDlg::OnBnClickedButton1)。此消息映射宏應(yīng)添加到BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之間。
?????? 消息處理函數(shù)聲明的語(yǔ)法形式為:
????? ?afx_msg void memberFun();
?
???????靜態(tài)文本框的使用
?????? 在前面的舉例中,大家應(yīng)該也清楚了靜態(tài)文本框的一般作用,就是用于顯示文字說(shuō)明。MFC提供了CStatic類,封裝了對(duì)靜態(tài)文本框的所有操作。
?????? 如果我們想在程序中動(dòng)態(tài)創(chuàng)建靜態(tài)文本框,而不是像前面那樣直接從Toolbox中拖到對(duì)話框模板上,那么就需要使用CStatic類的成員函數(shù)Create。Create函數(shù)的原型如下:
virtual BOOL Create(
?? LPCTSTR lpszText,
?? DWORD dwStyle,
?? const RECT& rect,
?? CWnd* pParentWnd,
?? UINT nID = 0xffff?
);
?????? 參數(shù)說(shuō)明:
?????? lpszText:指定要在控件中顯示的文字。如果為NULL則不會(huì)顯示任何文字。
?????? dwStyle:指定靜態(tài)控件的風(fēng)格。靜態(tài)文本框一般都是對(duì)話框或其他窗口的子窗口,而且是可見(jiàn)的,所以應(yīng)該包含WS_CHILD 和WS_VISIBLE風(fēng)格,另外,MSDN中說(shuō)明,還可以為其設(shè)置“static control styles”中風(fēng)格的任意組合。下面大概為大家說(shuō)明幾個(gè)風(fēng)格:
?
? ? ? ?我們?cè)趯?duì)話框模板添加靜態(tài)文本框時(shí),可以在靜態(tài)文本框的屬性頁(yè)中設(shè)置它的風(fēng)格,很多都與上面的風(fēng)格是對(duì)應(yīng)的,例如,Simple屬性就相當(dāng)于SS_SIMPLE風(fēng)格。
?
? ? ? ?rect:指定靜態(tài)控件的位置和大小,它可以是RECT結(jié)構(gòu)體類型,也可以是CRect類的對(duì)象。?
?????? pParentWnd:指定靜態(tài)控件的父窗口,通常是一個(gè)CDialog對(duì)象,不能是NULL。
?????? nID:指定靜態(tài)控件的ID。
?
?
???????CStatic類的成員函數(shù)簡(jiǎn)介
?????? 簡(jiǎn)單介紹下CStatic類的主要成員函數(shù),下面是成員函數(shù)列表。
?
? ? ? ?除了上述成員函數(shù)外,由于CStatic是CWnd的派生類,CWnd的很多成員函數(shù)也可以使用,例如,GetWindowText、GetWindowRect、SetWindowText等。?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Tang-tangt/p/9457201.html
總結(jié)
以上是生活随笔為你收集整理的VS2010-MFC(常用控件:静态文本框)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [LeetCode] Generate
- 下一篇: BZOJ4543 POI2014 Hot