標籤:style class blog code http ext
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函數。
轉自:http://houjixin.blog.163.com/blog/static/356284102008412105345887/