靜態控制項

靜態控制項

靜態控制項包括靜態正文(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
指定靜態控制項的控制項標識。

相關詞條

熱門詞條

聯絡我們