靜態控制項
漢語辭彙
靜態控制項是一個控制項,它使應用程序能夠為用戶提供通常不需要響應的信息性文本和圖形。靜態控制項包括靜態正文(Static Text)和圖片控制項(Picture)。靜態正文控制項用來顯示正文。圖片控制項可以顯示點陣圖、圖標、方框和圖元文件,在圖片控制項中顯示圖片的好處是不必操心圖片的重繪問題。靜態控制項不能接收用戶的輸入。在上一章中,讀者已經用過靜態正文和組框控制項。圖片控制項的例子可以在AppWizard創建的IDD_ABOUTBOX對話框模板中找到,在該模板中有一個圖片控制項用來顯示圖標。
BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
參數lpszText指定了控制項顯示的正文。dwStyle指定了靜態控制項的風格,表6.1顯示了靜態控制項的各種風格,dwStyle可將這些風格組合起來。rect是一個對RECT或CRect結構的引用,用來說明控制項的位置和尺寸。pParentWnd指向父窗口,該參數不能為NULL。nID則說明了控制項的ID。如果創建成功,該函數返回TRUE,否則返回FALSE.
lpszText
指定要放置在靜態控制項中的文本。如果是NULL,則表示沒有文本是可見的。
dwStyle
指定靜態控制項的窗口風格。以下任何靜態控制項風格的組合都可以用於這個控制項。
SS_BITMAP
指定在靜態控制項中顯示一個被定義在資源文件中的點陣圖。該風格將忽略靜態控制項的高度
和寬度,靜態控制項將根據點陣圖的大小自動調節自身的尺寸。
SS_BLACKFRAME
該控制域以矩形邊界顯示,顏色與當前窗口框架相同。
SS_BLACKRECT
該控制域以填充的矩形顯示,顏色與當前的窗口框架相同。
SS_CENTER
使文字在靜態控制項中水平居中。
SS_CENTERIMAGE
當靜態控制項用於顯示文本時,該風格將使文本在靜態控制項中垂直居中。當靜態控制項用於
顯示點陣圖或圖標時,該風格將使點陣圖或圖標在靜態控制項中垂直居中,當點陣圖或圖標小於
靜態控制項時,靜態控制項將使用點陣圖或圖標左上角的點的顏色填充空白處。
SS_ENHMETAFILE
指定在靜態控制項中顯示一個增強型圖元文件。該風格將不會忽略靜態控制項的高度和寬度
,而圖元文件將調節自身的大小來適應靜態控制項的尺寸。
SS_ETCHEDFRAME
建立一個浮雕邊框。
SS_ETCHEDHORZ
建立一個邊框,並將頂端邊框設置為浮雕風格。
SS_ETCHEDVERT
建立一個邊框,並將左側邊框設置為浮雕風格。
SS_GRAYFRAME
該控制域以矩形邊界顯示,顏色與當前桌面相同。
SS_GRAYRECT
該控制域以填充的矩形顯示,顏色與當前的桌面相同。
SS_ICON
指定在靜態控制項中顯示一個被定義在資源文件中的圖標。該風格將忽略靜態控制項的高度
和寬度,靜態控制項將根據點陣圖的大小自動調節自身的尺寸。
SS_LEFT
使文字在靜態控制項中左對齊。
SS_LEFTNOWORDWRAP
在預設情況下,靜態控制項把’\n’和’\t’都作為換行標記。只有在設置本風格后,靜
態控制項才把’\t’看作是製表鍵(預設時製表鍵的寬度為8個字元的寬度)。
SS_NOPREFIX
該標誌表示終止對前綴字元的處理。通常,本成員函數將前綴助記符’&’解釋為一個指
令,即在’&’後面的字元下面劃一下劃線。並且將’&&’解釋成一個單個的’&’指令
。通過指令指定該標誌,這種處理就不再進行了。
SS_NOTIFY
在預設情況下,靜態控制項是不響應滑鼠事件的。只有在設置該風格后,當用戶單擊靜態
控制項時,靜態控制項才向父窗口發送STN_CLICKED通知。
SS_OWNERDRAW
在指定該風格后,當靜態控制項在視覺外觀發生變化時,該靜態控制項的屬主窗口將響應WM
_DRAWITEM消息。
SS_RIGHT
使文字在靜態控制項中左對齊。
SS_SIMPLE
只顯示一行文本,文本不能被剪切或替換(父窗口不能處理CTLCOLOR消息)。
SS_SUNKEN
設置一個下沉的靜態控制項,當靜態控制項為一個方框時,方框的四邊下沉;當靜態控制項為
一個矩形時,整個矩形下沉。
SS_USERITEM
建立一個用戶自定義項目。
SS_WHITEFRAME
建立一個白色的邊框。
SS_WHITERECT
建立一個白色的矩形。
rect
pParentWnd
指定CStatic類的對象的父窗口,通常是一個CDialog類的對象。它不能是NULL。
nID = 0xffff
指定靜態控制項的控制項標識。