WNDOBJ 結構 (winddi.h)
WNDOBJ 結構可讓驅動程式追蹤視窗的位置、大小和可見客戶端區域變更。
語法
typedef struct _WNDOBJ {
CLIPOBJ coClient;
PVOID pvConsumer;
RECTL rclClient;
SURFOBJ *psoOwner;
} WNDOBJ, *PWNDOBJ;
成員
coClient
指定描述視窗用戶端區域的 CLIPOBJ 結構。 如果 iDComplexity 是DC_RECT, 而 rclBounds 中的左邊緣大於或等於右邊緣,或上邊緣大於或等於下邊緣,則用戶端區域是可見的。
pvConsumer
識別這個特定 WNDOBJ 結構的驅動程式定義值指標。 您可以呼叫 WNDOBJ_vSetConsumer 函式來設定此值。
rclClient
指定 RECTL 結構,描述螢幕座標中視窗的工作區。 此矩形是右下角獨佔的,這表示不包含此區域的下半部和右邊緣。
psoOwner
建立此 WNDOBJ 時傳遞給 EngCreateWnd 之 SURFOBJ 結構的指標。
備註
您可以藉由呼叫 WNDOBJ_cEnumStart 和 WNDOBJ_bEnum 函式來列舉可見的客戶端區域。
驅動程式可以藉由呼叫 WNDOBJ_vSetConsumer 函式,將自己的數據與 WNDOBJ 產生關聯。
作為加速器,驅動程式可以存取 WNDOBJ 的公用成員。 這些公用成員保證只會在 EngCreateWnd 函式中提供給 GDI 的驅動程式回呼例程內容中維持不變,或提供 WNDOBJ 的函式。
驅動程式應該使用 psoOwner 指向的 SURFOBJ 來擷取與 WNDOBJ 相關的驅動程式特定狀態,例如驅動程式的 PDEV 句柄,而不是維護全域變數。
規格需求
需求 | 值 |
---|---|
標頭 | winddi.h (包含Winddi.h) |