視窗類別 (Windows 和訊息)
本主題描述視窗類別的類型、系統如何找出它們,以及定義屬於視窗之預設行為的元素。
視窗類別是一組屬性,系統會用來作為範本來建立視窗。 每個視窗都是視窗類別的成員。 所有視窗類別都是程式特定的。
本節內容
名稱 | 描述 |
---|---|
關於視窗類別 | 討論視窗類別。 每個視窗類別都有一個相關聯的視窗程式,由相同類別的所有視窗共用。 視窗程式會處理該類別之所有視窗的訊息,因此會控制其行為和外觀。 |
使用視窗類別 | 示範如何註冊本機視窗,並用它來建立主視窗。 |
Window 類別參考 | 包含 API 參考。 |
Window 類別函式
名稱 | 描述 |
---|---|
GetClassInfoEx | 擷取視窗類別的相關資訊,包括與視窗類別相關聯之小型圖示的控制碼。
GetClassInfo 函式不會擷取小圖示的控制碼。 |
GetClassLong | 從與指定視窗相關聯的WNDCLASSEX結構擷取指定的 32 位 (長) 值。 |
GetClassLongPtr | 從與指定視窗相關聯的 WNDCLASSEX 結構擷取指定的值。 |
GetClassName | 擷取指定視窗所屬類別的名稱。 |
GetWindowLong | 擷取指定視窗的相關資訊。 函式也會將指定位移的 32 位 (長) 值擷取到額外的視窗記憶體中。 |
GetWindowLongPtr | 擷取指定視窗的相關資訊。 函式也會將位於指定位移的值擷取到額外的視窗記憶體中。 |
RegisterClass | 註冊視窗類別,以供後續用於呼叫 CreateWindow 或 CreateWindowEx 函 式。 |
RegisterClassEx | 註冊視窗類別,以供後續用於呼叫 CreateWindow 或 CreateWindowEx 函 式。 |
SetClassLongPtr | 針對指定視窗所屬的類別,取代額外類別記憶體或 WNDCLASSEX 結構中指定位移的指定值。 |
SetClassWord | 將指定位移處的 16 位 (WORD) 值取代為指定視窗所屬視窗類別的額外類別記憶體。 |
SetWindowLong | 變更指定視窗的屬性。 函式也會將指定位移的 32 位 (長) 值設定為額外的視窗記憶體。 |
SetWindowLongPtr | 變更指定視窗的屬性。 函式也會在額外視窗記憶體中的指定位移設定值。 |
UnregisterClass | 取消註冊視窗類別,釋放類別所需的記憶體。 |
下列函式已過時。
名稱 | 描述 |
---|---|
GetClassInfo | 擷取視窗類別的相關資訊。 注意:GetClassInfo函式已被GetClassInfoEx函式取代。 不過,如果您不需要類別小型圖示的相關資訊,您仍然可以使用 GetClassInfo。 |
GetClassWord | 將指定位移處的 16 位 (WORD) 值擷取到指定視窗所屬視窗類別的額外類別記憶體中。
注意: 此函式已被取代為 nIndex 設定為 GCW_ATOM 以外的任何用途。 函式僅供與 16 位版本的 Windows 相容。 應用程式應該使用 GetClassLong 函式。 |
SetClassLong | 將指定的 32 位 (長) 值取代為指定視窗所屬類別的額外類別記憶體或 WNDCLASSEX 結構。
注意:SetClassLongPtr函式已取代此函式。 若要撰寫與 32 位和 64 位版本的 Windows 相容的程式碼,請使用 SetClassLongPtr。 |
Window 類別結構
名稱 | 描述 |
---|---|
WNDCLASS | 包含 RegisterClass 函式所註冊的視窗類別屬性。 此結構已由與RegisterClassEx函式搭配使用的WNDCLASSEX結構取代。 如果您不需要設定與視窗類別相關聯的小型圖示,您仍然可以使用 WNDCLASS 和 RegisterClass 。 |
WNDCLASSEX | 包含視窗類別資訊。 它與 RegisterClassEx 和 GetClassInfoEx 函式搭配使用。 WNDCLASSEX結構類似于WNDCLASS結構。 有兩個差異。 WNDCLASSEX 包含 cbSize 成員,指定結構的大小,以及 hIconSm 成員,其中包含與視窗類別相關聯之小型圖示的控制碼。 |