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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VS2010/MFC编程入门之二十(常用控件:静态文本框)

發布時間:2023/12/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS2010/MFC编程入门之二十(常用控件:静态文本框) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?上一節雞啄米講了顏色對話框之后,關于對話框的使用和各種通用對話框的介紹就到此為止了。從本節開始雞啄米將講解各種常用控件的用法。常用控件主要包括:靜態文本框、編輯框、單選按鈕、復選框、分組框、列表框、組合框、圖片控件、列表控件、樹形控件和進度條控件等等。本節教程先來講解靜態文本框的使用。

???????控件的通知消息

?????? 在將靜態文本框的使用之前,先大概講講控件的通知消息。

???????當控件有事件發生時,它會向父窗口發送通知消息。最常發生的事件就是鼠標單擊了,此時控件會向父窗口發送BN_CLICKED消息,實際上也就是給父窗口發送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();

?

???????靜態文本框的使用

?????? 在前面雞啄米的舉例中,大家應該也清楚了靜態文本框的一般作用,就是用于顯示文字說明。MFC提供了CStatic類,封裝了對靜態文本框的所有操作。

?????? 如果我們想在程序中動態創建靜態文本框,而不是像前面那樣直接從Toolbox中拖到對話框模板上,那么就需要使用CStatic類的成員函數Create。Create函數的原型如下:

virtual BOOL Create(
?? LPCTSTR lpszText,
?? DWORD dwStyle,
?? const RECT& rect,
?? CWnd* pParentWnd,
?? UINT nID = 0xffff?
);

?????? 參數說明:

?????? lpszText:指定要在控件中顯示的文字。如果為NULL則不會顯示任何文字。

?????? dwStyle:指定靜態控件的風格。靜態文本框一般都是對話框或其他窗口的子窗口,而且是可見的,所以應該包含WS_CHILD 和WS_VISIBLE風格,另外,MSDN中說明,還可以為其設置“static control styles”中風格的任意組合。下面大概為大家說明幾個風格:

SS_BITMAP一個位圖將顯示在靜態控件中,Create函數的lpszText參數字符串是資源文件中定義的位圖名。此風格忽略寬度和高度參數,靜態控件自動調整它的尺寸來適應位圖
SS_BLACKFRAME指定一個具有與窗口邊界同色的框,默認為黑色
SS_BLACKRECT指定一個具有與窗口邊界同色的實矩形,默認為黑色
SS_CENTER使顯示的正文居中對齊,正文可以換行
SS_GRAYFRAME指定一個具有與屏幕背景同色的邊框
SS_GRAYRECT指定一個具有與屏幕背景同色的實矩形
SS_ICON使控件顯示一個在資源中定義的圖標,圖標的名字由Create 函數的lpszText 參數指定,圖標自動調整它的尺寸
SS_LEFT左對齊正文,正文能回繞
SS_LEFTNOWORDWRAP左對齊正文,正文不能回繞
SS_NOTIFY使控件能向父窗口發送鼠標事件消息
SS_RIGHT右對齊正文,可以回繞
SS_SIMPLE使靜態正文在運行時不能被改變并使正文顯示在單行中
SS_WHITEFRAME指定一個具有與窗口背景同色的框,默認為白色
SS_WHITERECT指定一個具有與窗口背景同色的實心矩形,默認為白色

?????? 我們在對話框模板添加靜態文本框時,可以在靜態文本框的屬性頁中設置它的風格,很多都與上面的風格是對應的,例如,Simple屬性就相當于SS_SIMPLE風格。

?????? rect:指定靜態控件的位置和大小,它可以是RECT結構體類型,也可以是CRect類的對象。

?????? pParentWnd:指定靜態控件的父窗口,通常是一個CDialog對象,不能是NULL。

?????? nID:指定靜態控件的ID。

???????CStatic類的成員函數簡介

?????? 簡單介紹下CStatic類的主要成員函數,下面是成員函數列表。

GetBitmap獲取由SetBitmap函數設置的位圖的句柄
GetCursor?獲取由SetCurSor設置的光標的句柄
GetEnhMetaFile獲取由SetEnhMetaFile設置的增強圖元文件的句柄
GetIcon獲取由SetIcon設置的圖標的句柄
SetBitmap設置要在靜態控件中顯示的位圖
SetCursor設置要在靜態控件中顯示的光標圖片
SetEnhMetaFile設置要在靜態控件中顯示的增強圖元文件
SetIcon設置要在靜態控件中顯示的圖標

?????? 除了上述成員函數外,由于CStatic是CWnd的派生類,CWnd的很多成員函數也可以使用,例如,GetWindowText、GetWindowRect、SetWindowText等。

?????? 靜態文本框的基本應用方法在前面已經講過,雞啄米就不再舉例,大家可以根據本節所講進行試驗,以對靜態文本框有更多的認識。歡迎大家來雞啄米交流學習。

?

轉自:http://www.jizhuomi.com/software/181.html

?

轉載于:https://www.cnblogs.com/gd-luojialin/p/9649965.html

總結

以上是生活随笔為你收集整理的VS2010/MFC编程入门之二十(常用控件:静态文本框)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。