Share via


視窗類別 (Windows 和訊息)

本主題描述視窗類別的類型、系統如何找出它們,以及定義屬於視窗之預設行為的元素。

視窗類別是一組屬性,系統會用來作為範本來建立視窗。 每個視窗都是視窗類別的成員。 所有視窗類別都是程式特定的。

本節內容

名稱 描述
關於視窗類別 討論視窗類別。 每個視窗類別都有一個相關聯的視窗程式,由相同類別的所有視窗共用。 視窗程式會處理該類別之所有視窗的訊息,因此會控制其行為和外觀。
使用視窗類別 示範如何註冊本機視窗,並用它來建立主視窗。
Window 類別參考 包含 API 參考。

 

Window 類別函式

名稱 描述
GetClassInfoEx 擷取視窗類別的相關資訊,包括與視窗類別相關聯之小型圖示的控制碼。 GetClassInfo 函式不會擷取小圖示的控制碼。
GetClassLong 從與指定視窗相關聯的WNDCLASSEX結構擷取指定的 32 位 () 值。
GetClassLongPtr 從與指定視窗相關聯的 WNDCLASSEX 結構擷取指定的值。
GetClassName 擷取指定視窗所屬類別的名稱。
GetWindowLong 擷取指定視窗的相關資訊。 函式也會將指定位移的 32 位 () 值擷取到額外的視窗記憶體中。
GetWindowLongPtr 擷取指定視窗的相關資訊。 函式也會將位於指定位移的值擷取到額外的視窗記憶體中。
RegisterClass 註冊視窗類別,以供後續用於呼叫 CreateWindowCreateWindowEx 函 式。
RegisterClassEx 註冊視窗類別,以供後續用於呼叫 CreateWindowCreateWindowEx 函 式。
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結構取代。 如果您不需要設定與視窗類別相關聯的小型圖示,您仍然可以使用 WNDCLASSRegisterClass
WNDCLASSEX 包含視窗類別資訊。 它與 RegisterClassExGetClassInfoEx 函式搭配使用。
WNDCLASSEX結構類似于WNDCLASS結構。 有兩個差異。 WNDCLASSEX 包含 cbSize 成員,指定結構的大小,以及 hIconSm 成員,其中包含與視窗類別相關聯之小型圖示的控制碼。