靜態(tài)文本控件的功能比較簡(jiǎn)單,可作為顯示字符串,圖標(biāo),位圖用。創(chuàng)建一個(gè)窗口可以使用成員函數(shù):
BOOL CStatic::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
其中dwStyle將指明該窗口的風(fēng)格,除了子窗口常用的風(fēng)格WS_CHILD,WS_VISIBLE外,你可以針對(duì)靜態(tài)控件指明專門的風(fēng)格。
SS_CENTER,SS_LEFT,SS_RIGHT 指明字符顯示的對(duì)齊方式。
SS_GRAYRECT 顯示一個(gè)灰色的矩形
SS_NOPREFIX 如果指明該風(fēng)格,對(duì)于字符&將直接顯示,否則&將作為轉(zhuǎn)義符,&將不顯示而在其后的字符將有下劃線,如果需要直接顯示&必須使用&&表示。
SS_BITMAP 顯示位圖
SS_ICON 顯示圖標(biāo)
SS_CENTERIMAGE 圖象居中顯示
控制顯示的文本利用成員函數(shù)SetWindowText/GetWindowText用于設(shè)置/得到當(dāng)前顯示的文本。
控制顯示的圖標(biāo)利用成員函數(shù)SetIcon/GetIcon用于設(shè)置/得到當(dāng)前顯示的圖標(biāo)。
控制顯示的位圖利用成員函數(shù)SetBitmap/GetBitmap用于設(shè)置/得到當(dāng)前顯示的位圖。下面一段代碼演示如何創(chuàng)建一個(gè)顯示位圖的靜態(tài)窗口并設(shè)置位圖
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());