複製鏈接
請複製以下鏈接發送給好友

靜態控件

鎖定
靜態控件包括靜態正文(Static Text)和圖片控件(Picture)。靜態正文控件用來顯示正文。圖片控件可以顯示位圖、圖標、方框和圖元文件,在圖片控件中顯示圖片的好處是不必操心圖片的重繪問題。靜態控件不能接收用户的輸入。在上一章中,讀者已經用過靜態正文和組框控件。圖片控件的例子可以在AppWizard創建的IDD_ABOUTBOX對話框模板中找到,在該模板中有一個圖片控件用來顯示圖標。
中文名
靜態控件
外文名
LPCTSTR lpszText, DWORD dwStyle
包    括
靜態正文和圖片控件
用    來
顯示正文
優    點
不必操心圖片的重繪問題
設    置
浮雕風格

靜態控件控件介紹

靜態控件控件作用

靜態控件的主要起説明和裝飾作用。MFC的CStatic類封裝了靜態控件。CStatic類的成員函數Create負責創建靜態控件,該函數的聲明為
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
指定靜態控件的位置和大小。它可以是一個RECT結構類型的數據或一個CRect類的對象。
pParentWnd
指定CStatic類的對象的父窗口,通常是一個CDialog類的對象。它不能是NULL。
nID = 0xffff
指定靜態控件的控件標識。