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