SetWindowLong
SetWindowLong函數介紹 收藏
SetWindowLong函數介紹
SetWindowLong Unicode?
函數原型
LONG SetWindowLong(hwnd,nIndex,lNewLong)
HWND hwnd; /* handle of window */
int nIndex; /* offset of value to set */
LONG lNewLong; /* new value */
函數說明
SetWindowLong函數修改給定窗口的一個屬性。該函數還在給定窗口的附加窗口內存中
的指定偏移量處設置一個32位(長)值。
參數詳解
hwnd
標識窗口,并且間接標只出該窗口的屬的窗口類。
nIndex
指定一個距離要設置的值的以0為基值的偏移量。有效的偏移量范圍最小為0,最大為附
加窗口內存的總字節數減為4,注:整數為四個字節;例如:若附加內存被指定為12個或
更多個字節,值8將是第3個長整數的索引值。要設置其它值,則應指定下列值之一:
值 動 作
============================================================================
GWL_EXSTYLE 設置新的擴展窗口風格。
GWL_STYLE 設置新的窗口風格
GWL_WNDPROC 為窗口過程設置新地址。
GWL_HINSTANCE 設置一個新的應用程序的實例句柄。
GWL_ID 設置一人新的窗口標識符。
GWL_USERDATA 設置與窗口相聯系的長值。每個窗口都有一個供創建它的應用
程序使用的與之對應的長值。
當hwnd標識一個對話框時,還可使用下列值:
值 含 義
============================================================================
DWL_DLGPROC 設置對話框過程的新地址。
DWL_MSGRESULT 設置對話框過程所處理的消息的返回值。
DWL_USER 設置對應用程序來說是私有的新的附加信息:如句柄或打印機
。
lNewLong
指定該替換值。
返回值
若函數成功,返回值是指定的32位整數的原值;否則,返回值為0。使用GetLastError
函數可獲取補充的錯誤信息。
注釋
若使用SetWindowLong函數和GWL_WNDPROC索引替換窗口過程,則給定的窗口過程必須遵
循WindowProc回調函數的說明中指定的準則。
使用GWL_WNDPROC索引調用SetWindowLong函數可創建該窗口類的子類(窗口類用來創建窗
口)。應用程序不得用另一個過程的窗口產生子類。
使用RegisterClass函數,并將WNDCLASS結構的cbWndExtra成員指定為一個非零值,便可
保留附加窗口內存。
不得將SetWindowLong與GWL_HWNDPARENT索引一起使用來改變一個子窗口的父窗口。要
改變子窗口的父窗口,應使用SetParent函數。?
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/todototry/archive/2006/11/09/1374968.aspx
總結
以上是生活随笔為你收集整理的SetWindowLong的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【软件质量】修正瑞士军刀枚举类
- 下一篇: 作者:李海林,博士,华侨大学信息管理系副