WNDCLASSEXA 結構 (winuser.h)
包含窗口類別資訊。 它與 RegisterClassEx 和 GetClassInfoEx 函式搭配使用。
WNDCLASSEX 結構類似於 WNDCLASS 結構。 有兩個差異。 WNDCLASSEX 包含 cbSize 成員,指定結構的大小,以及 hIconSm 成員,其中包含與視窗類別相關聯之小型圖示的句柄。
語法
typedef struct tagWNDCLASSEXA {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXA, *PWNDCLASSEXA, *NPWNDCLASSEXA, *LPWNDCLASSEXA;
成員
cbSize
類型: UINT
這個 結構的大小,以位元組為單位。 將此成員設定為 sizeof(WNDCLASSEX)
。 在呼叫 GetClassInfoEx 函 式之前,請務必設定此成員。
style
類型: UINT
類別樣式 (s) 。 這個成員可以是 類別樣式的任何組合。
lpfnWndProc
類型: WNDPROC
視窗程式的指標。 您必須使用 CallWindowProc 函 式來呼叫視窗程式。 如需詳細資訊,請參閱 WindowProc。
cbClsExtra
類型: int
在視窗類別結構之後配置的額外位元組數目。 系統會將位元組初始化為零。
cbWndExtra
類型: int
在窗口實例之後配置的額外位元組數目。 系統會將位元組初始化為零。 如果應用程式使用 WNDCLASSEX 來註冊使用資源檔中 的 CLASS 指示詞所建立的對話方塊,則必須將此成員設定為 DLGWINDOWEXTRA。
hInstance
類型: HINSTANCE
實例的句柄,其中包含 類別的窗口程式。
hIcon
類型: HICON
類別圖示的句柄。 此成員必須是圖示資源的句柄。 如果此成員為 NULL,系統會提供預設圖示。
hCursor
類型: HCURSOR
類別數據指標的句柄。 這個成員必須是數據指標資源的句柄。 如果這個成員是 NULL,每當滑鼠移至應用程式的視窗時,應用程式必須明確設定游標圖形。
hbrBackground
類型: HBRUSH
類別背景筆刷的句柄。 這個成員可以是筆刷的句柄,用來繪製背景,也可以是色彩值。 色彩值必須是下列其中一種標準系統色彩, (值 1 必須新增至所選的色彩) 。 如果指定色彩值,您必須將它轉換成下列其中一個 HBRUSH 類型:
- COLOR_ACTIVEBORDER
- COLOR_ACTIVECAPTION
- COLOR_APPWORKSPACE
- COLOR_BACKGROUND
- COLOR_BTNFACE
- COLOR_BTNSHADOW
- COLOR_BTNTEXT
- COLOR_CAPTIONTEXT
- COLOR_GRAYTEXT
- COLOR_HIGHLIGHT
- COLOR_HIGHLIGHTTEXT
- COLOR_INACTIVEBORDER
- COLOR_INACTIVECAPTION
- COLOR_MENU
- COLOR_MENUTEXT
- COLOR_SCROLLBAR
- COLOR_WINDOW
- COLOR_WINDOWFRAME
- COLOR_WINDOWTEXT
當此成員為 NULL 時,每當應用程式要求在工作區中繪製時,都必須繪製自己的背景。 若要判斷是否必須繪製背景,應用程式可以處理WM_ERASEBKGND訊息,或測試 BeginPaint 函式所填入 PAINTSTRUCT 結構的 fErase 成員。
lpszMenuName
類型: LPCTSTR
Null 終止字元字串的指標,指定類別功能表的資源名稱,因為名稱會出現在資源檔中。 如果您使用整數來識別功能表,請使用 MAKEINTRESOURCE 宏。 如果這個成員是 NULL,屬於此類別的視窗沒有預設功能表。
lpszClassName
類型: LPCTSTR
以 Null 終止的字串或為 Atom 的指標。 如果此參數是 Atom,它必須是先前呼叫 RegisterClass 或 RegisterClassEx函 式所建立的類別 Atom。 Atom 必須以低順序的 lpszClassName 字組表示;高序字必須是零。
如果 lpszClassName 是字串,則會指定視窗類別名稱。 類別名稱可以是向 RegisterClass 或 RegisterClassEx 註冊的任何名稱,或是任何預先定義的控件類別名稱。
lpszClassName 的最大長度為 256。 如果 lpszClassName 大於最大長度, RegisterClassEx 函 式將會失敗。
hIconSm
類型: HICON
與窗口類別相關聯的小型圖示句柄。 如果此成員為 NULL,系統會搜尋 hIcon 成員所指定的圖示資源,以取得適當大小的圖示,以作為小型圖示。
備註
注意
winuser.h 標頭會將 WNDCLASSEX 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
標頭 | winuser.h (包含 Windows.h) |
另請參閱
概念
參考