函數功能:該函數從給定窗口的屬性列表中檢索數據句柄。給定的字符串標識了要檢索的句柄。該字符串和句柄必須在前一次調用SetProp函數時已經加到屬性表中。
函數原型:HANDLE GetProp(HWND hWnd,LPCTSTR lpString);
參數:
hWnd:指向要搜索屬性表的窗口。
LpString:指向以null結尾的字符串指針,或者包含一個標識字符串的原子。如果該參數是一個原子,那么它必須是使用GlobalAddAtom函數創建的。原子是16位的數據值,它必須是放置在lpstring參數的低位率中,而高位字必須為O。
返回值:如果屬性表中包含了給定的字符串,那么返回值為相關的數據句柄。否則,返回值為NULL。
函數功能:該函數在指定窗口的屬性表中增加一個新項,或者修改一個現有項。如果指定的字符串不在屬性表中,那么就增加該新的項,新項中包含該字符串和句柄,否則就用指定的句柄替換該字符串的全前句柄。
函數原型:BOOL SetProp(HWND hWnd,LPCTSTR lpString,HANDLE hData);
參數:
hWnd:指向窗口的句柄,該窗口的屬性表要接收一個新項。
lpString:指向以null結尾的字符串指針,或者包含一個標識字符串的原子。如果該參數是一個原子,么它必須是以前使用GlobalAddAtom函數創建的。原子是16位的數據值,它必須是放置在lpstring參數低位字中,而高位字必須為O。
hData:指向要拷貝到屬性表中的數據的句柄。該數據句柄可以標識任何對應用程序有用的值。
返回值:如果該數據句柄和字符串以加到屬性表中,那么返回值為非零。如果該函數失敗,那么返回為零。若想獲得更多錯誤信息,請調用GetLastError函數。
備注:在清除窗口之前(也就足在處理WM_DESTROY消息之前),應用程序必須把它加到屬性表的所項清除。應用程序必須使用RemoveProp函數來清除這些項。
可以使用GetProp和SetProp函數來查找已經啟動的程序的窗口。
使用SetProp向窗口的屬性表中添加字符串。可以在對話框的OnInitDialog函數的最后添加下面語句。
::SetProp( this->m_hWnd, "字符串", (HANDLE)1 );
使用GetProp在窗口的屬性表中查找字符串。
::GetProp(hwnd, "字符串")