關於視窗屬性
視窗屬性是指派給視窗的任何資料。 視窗屬性通常是視窗特定資料的控制碼,但可能是任何值。 每個視窗屬性都是以字串名稱來識別。 有數個函式可讓應用程式使用視窗屬性。 本概觀討論下列主題:
使用視窗屬性的優點
視窗屬性通常用來將資料與子類別化視窗或多文檔介面中的視窗產生關聯, (MDI) 應用程式。 不論是哪一種情況,都不適合使用 CreateWindow 函式或類別結構中指定的額外位元組,原因如下:
- 應用程式可能不知道有多少額外的位元組可用,或空間的使用方式。 藉由使用視窗屬性,應用程式可以將資料與視窗產生關聯,而不需要存取額外的位元組。
- 應用程式必須使用位移來存取額外的位元組。 不過,視窗屬性是由其字串識別碼存取,而不是依位移來存取。
如需子類別化的詳細資訊,請參閱 Window Procedure Subclassing。 如需 MDI 視窗的詳細資訊,請參閱 多個檔介面。
指派視窗屬性
SetProp函式會將視窗屬性及其字串識別碼指派給視窗。 GetProp函式會擷取指定字串所識別的視窗屬性。 RemoveProp函式會終結視窗與視窗屬性之間的關聯,但不會終結資料本身。 若要終結資料本身,請使用適當的函式釋放 RemoveProp所傳回的控制碼。
列舉視窗屬性
EnumProps和EnumPropsEx函式會使用應用程式定義的回呼函式來列舉視窗的所有屬性。 如需回呼函式的詳細資訊,請參閱 PropEnumProc。
EnumPropsEx 包含回呼函式所使用之應用程式定義資料的額外參數。 如需回呼函式的詳細資訊,請參閱 PropEnumProcEx。