本主題描述視窗類別的類型、系統如何找出它們,以及定義屬於視窗之預設行為的元素。
視窗類別是一組屬性,系統會用來作為範本來建立視窗。 每個視窗都是視窗類別的成員。 所有視窗類別都是程式特定的。
本節內容
| 名稱 | 描述 |
|---|---|
| 關於視窗類別 | 討論視窗類別。 每個視窗類別都有一個相關聯的視窗程式,由相同類別的所有視窗共用。 視窗程式會處理該類別之所有視窗的訊息,因此會控制其行為和外觀。 |
| 使用視窗類別 | 示範如何註冊本機視窗,並用它來建立主視窗。 |
| 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 成員,其中包含與視窗類別相關聯之小型圖示的控制碼。 |