MFC對話框編程-Static Text

1.靜態正文控件 Static Text
顯示文本,矩形,圖標,光標,位圖,元文件。
只輸出,不輸入
 
創建一個CStatic 對象

 

BOOL Creat(LPCTSTR lpszText,DWORD dwStyle,const RECT& rect,CWnd* pParentWnd,UINT nID=0xffff);
dwStyle(風格)
SS_BITMAP 在靜態控件中顯示一幅位圖(.BMP),由控件的文本(TEXT)指定一幅包含在資源中的位圖文件(非文件名),該風格忽略控件的寬度和高度,控件將自動調整大小以適應位圖。
SS_ICON 在靜態控件中顯示一幅圖標(.ICO),由控件的文本(TEXT)指定一幅包含在資源中的圖標文件(非文件名),該風格忽略控件的寬度和高度,控件將自動調整大小以適應圖標。
SS_ENHMETAFILE 在靜態控件中顯示一增強幅圖元文件(.EMF)。由控件的文本(TEXT)指定圖元文件名。控件大小固定不變,圖元文件按比例縮放顯示在控件客戶區中。
SS_BLACKFRAME 用系統顏色組的窗口邊界色(缺省爲黑色)繪製一個邊框,框內使用與底部窗體相同的顏色(透明)。
SS_BLACKRECT 用系統顏色組的窗口邊界色(缺省爲黑色)繪製一個矩形實心控件。
SS_GRAYFRAME 用系統顏色組的屏幕背景色繪製一個邊框,框內使用與底部窗體相同的顏色(透明)。
SS_GRAYRECT 用系統顏色組的屏幕背景色繪製一個矩形實心控件。
SS_WHITEFRAME 用系統顏色組的窗口背景色(缺省爲白色)繪製一個邊框,框內使用與底部窗體相同的顏色(透明)。
SS_WHITERECT 用系統顏色組的窗口背景色(缺省爲白色)色繪製一個矩形實心控件。
SS_ETCHEDFRAME 用下凹的3D線條繪製一個邊框,框內使用與底部窗體相同的顏色(透明)。
SS_ETCHEDHORZ 用下凹的3D線條繪製控件的上下兩邊,框內使用與底部窗體相同的顏色(透明)。
SS_ETCHEDVERT 用下凹的3D線條繪製控件的左右兩邊,框內使用與底部窗體相同的顏色(透明)。
SS_RIGHTJUST 與SS_BITMAP 或 SS_ICON 配合當需要對控件的大小進行自動調整時以控件的右下角爲基準,只有控件的上邊和左邊的位置改變。
SS_NOPREFIX 禁止對字符“&”進行解釋,通常字符“&”會被解釋成在下一個字符加一個下畫線,“&&”會被解釋成一個字符“&”,用戶可以使用SS_NOPREFIX風格來禁止這項解釋。
SS_NOTIFY 當控件被用戶單擊或雙擊控件時向父窗口傳送STN_CLICKED, STN_DBLCLK, STN_DISABLE, 或 STN_ENABLE 通知消息。
SS_OWNERDRAW 自繪靜態控件,每當控件需要重畫時,父窗口將收到WM_DRAWITEM消息。
SS_REALSIZEIMAGE 禁止根據位圖或圖標大小自動進行控件尺寸的調整,如果本常數被設定,大於控件的圖片其超出部份將被截去。
SS_SUNKEN 繪製一個下沉的控件。
SS_CENTER 文本顯示水平居中,顯示之前先對文本進行格式化,超過控件寬度將自動換行。
SS_CENTERIMAGE 文本顯示垂直居中。本常數還設定當位圖或圖標小於控件客戶區時使用圖片左上角點的顏色填充控件邊緣。
SS_LEFT 文本顯示居左,顯示之前先對文本進行格式化,超過控件寬度將自動換行。
SS_LEFTNOWORDWRAP 文本顯示居左,超過控件寬度部份將被截去,不進行自動換行處理。
SS_RIGHT 文本顯示居右,顯示之前先對文本進行格式化,超過控件寬度將自動換行。
SS_SIMPLE 文本在控件的左上角單行顯示,不進行自動換行處理。父窗口進程不能對WM_CTLCOLORSTATIC消息進行處理。
 
CStatic 常用的成員函數
SetBitmap()

CStatic *pStatic=new CStatic;    
pStatic->Create(_T("my static"),WS_CHILD|WS_VISIBLE|SS_CENTER,CRect(10,10,150,50),this);    
pStatic->ModifyStyle(0xF,SS_BITMAP|SS_CENTERIMAGE);
HBITMAP hbitmap=::LoadBitmap(AfxGetApp()->m_hInstance,MAKEINTRESOURCE(IDB_BITMAP1));
pStatic->SetBitmap(hbitmap);

獲得hbitmap 還可以採用如下方法:

 
hBitmap=(HBITMAP)::LoadBitmapA(NULL,_T("C:\\Users\\Andy\\Documents\\Visual Studio 2010\\Projects\\BIOSEx\\BIOSEx\\res\\bitmap1.bmp"));

SetIcon()

SetCursor()

CStatic *pStatic=new CStatic;
pStatic->Create(_T("my static"),WS_CHILD|WS_VISIBLE|SS_CENTER,CRect(10,10,150,50),this);
pStatic->ModifyStyle(0xF,SS_ICON);
HCURSOR    hCursor=AfxGetApp()->LoadCursorA(IDC_CURSOR1);
//HICON hIcon=AfxGetApp()->LoadIconA(IDR_MAINFRAME);
pStatic->SetCursor(hCursor);
//pStatic->SetIcon(hIcon);

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章