如果我們想在程式中動態建立靜態文字框,而不是像前面那樣直接從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_******
使靜態正文在執行時不能被改變並使正文顯示在單行中
ss_whiteframe
指定乙個具有與視窗背景同色的框,預設為白色
ss_whiterect
指定乙個具有與視窗背景同色的實心矩形,預設為白色
我們在對話方塊模板新增靜態文字框時,可以在靜態文字框的屬性頁中設定它的風格,很多都與上面的風格是對應的,例如,******屬性就相當於ss_******風格。
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等。
MFC之編輯框和靜態文字框
編輯框有兩種狀態,乙個是使用者可輸入操作,乙個是只能讀,可在元件屬性中找到read only 設定為true則只能讀使用者無法操作 操作控制項的兩種方式前面說過了,後面都是以變數的方式進行操作 cedit m edit edit.setwindowtext t 編輯框 引數為cstring 型別cs...
MFC學習 動態建立靜態文字框
動態建立static,需要有乙個生命週期足夠長的靜態控制項指標變數,所以最好宣告乙個類的成員變數 類的標頭檔案.h新增成員變數 cstatic m pstatic 類的原始檔.cpp 需要建立靜態文字框的對話方塊的建構函式 m pstatic null 建立靜態控制項函式裡 if m pstatic...
13 MFC 靜態文字框CStatic
靜態文字框是最簡單的控制項,它主要用來顯示文字資訊,不能接受使用者輸入,一般不需要連線變數,也不需要處理訊息。靜態文字框的重要屬性有 常用介面 介面功能 cwnd setwindowtext 設定控制項內容 cwnd getwindowtext 獲取控制項內容 cstatic setbitmap 設...