GetProp和SetProp的用法


GetProp

函數功能:該函數從給定窗口的屬性列表中檢索數據句柄。給定的字符串標識了要檢索的句柄。該字符串和句柄必須在前一次調用SetProp函數時已經加到屬性表中。

    函數原型:HANDLE GetProp(HWND hWnd,LPCTSTR lpString);

    參數:

    hWnd:指向要搜索屬性表的窗口。

    LpString:指向以null結尾的字符串指針,或者包含一個標識字符串的原子。如果該參數是一個原子,那么它必須是使用GlobalAddAtom函數創建的。原子是16位的數據值,它必須是放置在lpstring參數的低位率中,而高位字必須為O。

    返回值:如果屬性表中包含了給定的字符串,那么返回值為相關的數據句柄。否則,返回值為NULL。

SetProp

函數功能:該函數在指定窗口的屬性表中增加一個新項,或者修改一個現有項。如果指定的字符串不在屬性表中,那么就增加該新的項,新項中包含該字符串和句柄,否則就用指定的句柄替換該字符串的全前句柄。

    函數原型: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, "字符串")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM