靜態文本控件的功能比較簡單,可作為顯示字符串,圖標,位圖用。創建一個窗口可以使用成員函數:
BOOL CStatic::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
其中dwStyle將指明該窗口的風格,除了子窗口常用的風格WS_CHILD,WS_VISIBLE外,你可以針對靜態控件指明專門的風格。
SS_CENTER,SS_LEFT,SS_RIGHT 指明字符顯示的對齊方式。
SS_GRAYRECT 顯示一個灰色的矩形
SS_NOPREFIX 如果指明該風格,對於字符&將直接顯示,否則&將作為轉義符,&將不顯示而在其後的字符將有下劃線,如果需要直接顯示&必須使用&&表示。
SS_BITMAP 顯示位圖
SS_ICON 顯示圖標
SS_CENTERIMAGE 圖象居中顯示
控制顯示的文本利用成員函數SetWindowText/GetWindowText用於設置/得到當前顯示的文本。
控制顯示的圖標利用成員函數SetIcon/GetIcon用於設置/得到當前顯示的圖標。
控制顯示的位圖利用成員函數SetBitmap/GetBitmap用於設置/得到當前顯示的位圖。下面一段代碼演示如何創建一個顯示位圖的靜態窗口並設置位圖
CStatic* pstaDis=new CStatic;
pstaDis->Create("",WS_CHILD|WS_VISIBLE|SS_BITMAP|SSCENTERIMAGE,
CRect(0,0,40,40),pWnd,1);
CBitmap bmpLoad;
bmpLoad.LoadBitmap(IDB_TEST);
pstaDis->SetBitmap(bmpLoad.Detach());