CButton::Create BOOL Create( LPCTSTR
lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID
); 動態(tài)創(chuàng)建一個按紐 LPCTSTR lpszCaption 按紐文字 DWORD dwStyle
按紐樣式,常選用BS_DEFPUSHBUTTON表示下壓式按紐, 控件本身也是窗口,因此還具有窗口類型,如讓控件創(chuàng)建后即可見,可給控件WS_VISIBLE, 通常還具有WS_CHILD屬性 const
RECT& rect 矩形區(qū)域,可以是CRect類型,也可是Rect結構體??芍苯佑蒀Rect構造,如CRect
(0,0,10,10).。 CWnd* pParentWnd 為父窗口指針,若消息響應在父類中,可直接用this指針。UINT nID
可隨便給(只能為數(shù)字?)。 注意用此函數(shù)時需判斷該控件是否已與該控件窗口已關聯(lián),因為若關聯(lián)兩次會出現(xiàn)錯誤,動態(tài)創(chuàng)建控件好象只能創(chuàng)建一個控件。 CWnd::GetDlgItem
CWnd* GetDlgItem( int nID )
const; 用此函數(shù)可通過控件ID獲得指定控件的指針,一般此函數(shù)用于一個對話框類中。 CWnd::GetWindowText int
GetWindowText( LPTSTR lpszStringBuf, int nMaxCount ) const; void
GetWindowText( CString& rString )
const; 此函數(shù)可獲得指定控件上的文本信息并把它保存在一個CString對象或char型數(shù)組中。 第一個重載函數(shù)中nMaxCount指能夠復制到BUFFER中的最大字符數(shù) CWnd::SetWindowText void
SetWindowText( LPCTSTR lpszString
); 該函數(shù)用于設置窗體尤其是控件文本。(該函數(shù)是否可向窗口輸出字符串?) atoi int atoi( const char
*string ); 該函數(shù)可將字符串轉換為整形值并返回。 類似的函數(shù)如下: long atol( const char *string
); double atof( const char *string ); 如果字符不能轉化為相應的類型則返回0 itoa char
*_itoa( int value, char *string, int radix
); 第一個參數(shù)是要轉換的整形值,第二個參數(shù)是目標字符串的指針,第三個參數(shù)代表進制。 (回值干什么用的?) CWnd::GetDlgItemText
int GetDlgItemText( int nID, LPTSTR lpStr, int nMaxCount ) const; int
GetDlgItemText( int nID, CString& rString )
const; 該函數(shù)可通過控件ID來獲取控件文本并把它保存在CString
的一個對象中或char型數(shù)組中,因為數(shù)組會有最大字符數(shù),因此第一個重載函數(shù)還有nMaxCount參數(shù)。 CWnd::SetDlgItemText void
SetDlgItemText( int nID, LPCTSTR lpszString
); 將字符串中字符放回nID所指定的控件中 CWnd::GetDlgItemInt UINT GetDlgItemInt(
int nID, BOOL* lpTrans = NULL, BOOL bSigned = TRUE )
const; 該函數(shù)作用是接收指定控件文本并作為整形數(shù)返回 nID為控件ID,第二個參數(shù)若為NULL則若字符無法轉換為數(shù)字時會接受一個零而不會報錯,第三個參數(shù)若為TRUE則檢查文本開始處的有無符號,即數(shù)據(jù)做有符號數(shù)處理,若為FALSE則作無符號數(shù)處理。 CWnd::SetDlgItemInt void
SetDlgItemInt( int nID, UINT nValue, BOOL bSigned = TRUE
); 該函數(shù)是將整形值直接傳入ID標識的控件作為控件文本。 nID為控件ID,第二個參數(shù)為要傳入的整形值,第三個參數(shù)為真則為有符號值,反之則為無符號值 CWnd::ShowWindow BOOL
ShowWindow( int nCmdShow ); 常用nCmdShow的參數(shù)值 SW_HIDE 隱藏窗口或控件 SW_SHOW
正常顯示窗口或控件 一般由窗口類或窗口類的派生類產生一個窗口后都需要調用該函數(shù)將窗口顯示出來,不過有時不需要顯式調用而有時必須顯示調用 CWnd::PostMessage BOOL
PostMessage( UINT message, WPARAM wParam = 0, LPARAM lParam = 0
); CWnd::SendMessage LRESULT SendMessage( UINT message, WPARAM wParam = 0,
LPARAM lParam = 0
); 可用于各窗體或控件之間的消息通信。 如常用的獲取窗體或控件的文本消息WM_GETTEXT,用WM_GETTEXT時參數(shù): WPARAM為要copy的最大字符數(shù),LPARAM為存儲的buffer區(qū),若為char型數(shù)組則需要強制類型轉換 設置窗體文本的消息WM_SETTEXT,參數(shù)含義: wParam
未被使用,設為0 ,lParam
為要設置的文本的存儲單元地址; 設置編輯框文本復選的消息為EM_SETSEL EM_SETSEL wParam = (WPARAM)
(INT) nStart; // starting position lParam = (LPARAM) (INT) nEnd; //
ending
position wParam為復選起始位置,lParam為復選結束位置。注意,若最后鼠標焦點不在編輯框上則無法顯示文本復選,因此一般最后會加上一個SetFocus函數(shù)。 獲取編輯框文本復選的消息為
EM_GETSEL wParam = (WPARAM) (LPDWORD) lpdwStart; // receives starting
position lParam = (LPARAM) (LPDWORD) lpdwEnd; // receives ending
position wParam為一個DWORD類型數(shù)的指針,用于保存起始位置,lParam也為一個DWORD類型數(shù)的指針,用于保存結束位置。 CWnd::SendDlgItemMessage LRESULT
SendDlgItemMessage( int nID, UINT message, WPARAM wParam = 0, LPARAM lParam = 0
); 本函數(shù)用于對話框各控件的消息通信,獲取指定ID的消息,該函數(shù)不是被類的對象調用的。 CDC::TextOut virtual
BOOL TextOut( int x, int y, LPCTSTR lpszString, int nCount ); BOOL TextOut(
int x, int y, const CString& str
); 該函數(shù)可用于向指定窗口輸出一串文字,輸出成功則返回非0; 輸出文本顏色不是由畫筆控制的,而是由CD中的成員函數(shù) CDC::SetTextColor virtual
COLORREF SetTextColor( COLORREF crColor ); 指定。背景顏色由 CDC::SetBkColor
virtual COLORREF SetBkColor( COLORREF crColor
); 指定。 SDK下該函數(shù)為: BOOL TextOut( HDC hdc, // handle
to device context int nXStart, // x-coordinate of starting
position int nYStart, // y-coordinate of starting position
LPCTSTR lpString, // pointer to string int cbString // number of
characters in string ); CWnd::SetFocus CWnd* SetFocus(
); 該函數(shù)為設置鼠標焦點的函數(shù),返回的是原先具有焦點的窗體指針。 CWnd::GetWindowRect void
GetWindowRect( LPRECT lpRect )
const; 該函數(shù)獲得窗口矩形區(qū)域信息并將信息保存在CRect或Rect結構體中 CWnd::SetWindowPos BOOL
SetWindowPos( const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT
nFlags
); 該函數(shù)可用于設置窗口的大小以及窗口的層疊次序。 第二,三個參數(shù)為窗口的左上角的x與y值,第四個參數(shù)為窗口的寬度,第五個參數(shù)為窗口的高度,最后一個參數(shù)為設置顯示屬性,如若要窗口顯示位置不改變,nFlags可設置為
SWP_NOMOVE ,此時將忽略x與y值, SetWindowLong LONG SetWindowLong( HWND
hWnd, // handle of window int nIndex, // offset of value to
set LONG dwNewLong // new
value ); API函數(shù),可用于改變指定窗口的一個屬性,當nIndex取GWL_WNDPROC, 可用于替換一個窗口過程。 GetNextWindow HWND
GetNextWindow( HWND hWnd, // handle to current window UINT wCmd //
direction
flag ); SDK函數(shù),可獲取當前控件的下一個控件的句柄,其中第一個參數(shù)為當前控件的句柄,第二個參數(shù)可取GW_HWNDNEXT或GW_HWNDPREV,若取GW_HWNDNEXT則獲取下一個控件句柄,若取GW_HWNDPREV則獲取當前句柄的前一個控件句柄 GetWindow HWND
GetWindow( HWND hWnd, // handle to original window UINT uCmd //
relationship
flag ); 該函數(shù)功能與GetNextWindow相似,但功能比GetNextWindow更強大,其中的nCmd選項可選GW_HWNDNEXT與GW_HWNDPREV外還可選擇: GW_CHILD表示獲取當前控件子控件句柄,GW_HWNDFIRST與
GW_HWNDLASTfenbie分別表示獲取第一個與最后一個控件句柄。 GetNextDlgTabItem HWND
GetNextDlgTabItem( HWND hDlg, // handle of dialog box HWND
hCtl, // handle of known control BOOL bPrevious // direction
flag ); CWnd::GetNextWindow CWnd* GetNextWindow( UINT nFlag =
GW_HWNDNEXT ) const; 此函數(shù)返回指向當前控件的下一個控件的指針。 CWnd::ModifyStyle BOOL
ModifyStyle(DWORD dwRemove,DWORD dwAdd, UINT nFlags = 0
); 此函數(shù)用于替換指定窗口的樣式,第一個參數(shù)DWORD dwRemove,為要去掉的窗口樣式,第二個參數(shù)DWORD
dwAdd為將要添加的窗口樣式,第三個參數(shù)為0則窗口不重繪,非0則窗口重繪。 LPTSTR MAKEINTRESOURCE( WORD
wInteger // integer to
convert ); 該函數(shù)可以將一個整形值轉換為一個資源類型的值,一般用于將一個資源的ID標示轉換為資源的名字的字符串 封裝所有字符串操作的類CString類,常用方法: CString::Format:格式化輸出一個字符串用法與c語言中Printf()相類似 CString::operator
+=:可以連接一個字符串 DWORD GetCurrentDirectory( DWORD nBufferLength, //
size, in characters, of directory buffer LPTSTR lpBuffer // pointer
to buffer for current
directory ); 該函數(shù)為SDK平臺下的函數(shù),作用是獲取當前目錄下所有文件名,并將當前目錄下所有文件的文件名放入lpBuffer指向的字符數(shù)組中。
VC常用消息總結
收藏 以下資料主要來自互聯(lián)網,感謝相關兄弟的無私奉獻:
0 ~ WM_USER – 1 系統(tǒng)消息
WM_USER ~ 0x7FFF 自定義窗口類整數(shù)消息
WM_APP ~ 0xBFFF 應用程序自定義消息
0xC000 ~ 0xFFFF 應用程序字符串消息
> 0xFFFF 為以后系統(tǒng)應用保留
常用Windows消息:
消息名稱 值 說
明
WM_NULL 0x0000
空消息,此消息將被接收窗口忽略 WM_CREATE 0x0001 應用程序創(chuàng)建一個窗口
WM_DESTROY 0x0002
一個窗口被銷毀 WM_MOVE 0x0003
移動一個窗口 WM_SIZE 0x0005 改變一個窗口的大小
WM_ACTIVATE 0x0006
一個窗口被激活或失去激活狀態(tài) WM_SETFOCUS 0x0007
獲得焦點后 WM_KILLFOCUS 0x0008
失去焦點 WM_ENABLE 0x000A 應用程序Enable狀態(tài)改變時產生
WM_SETREDRAW
0x000B 設置窗口是否能重畫 WM_SETTEXT 0x000C
應用程序發(fā)送此消息來設置一個窗口的文本 WM_GETTEXT 0x000D 應用程序發(fā)送此消息來復制對應窗口的文本到緩沖區(qū)
WM_GETTEXTLENGTH 0x000E 得到與一個窗口有關的文本的長度(不包含空字符)
WM_PAINT 0x000F 要求一個窗口重繪自己
WM_CLOSE 0x0010 當一個窗口或應用程序要關閉時發(fā)送一個信號
WM_QUERYENDSESSION 0x0011 用戶選擇結束對話框或應用程序自己調用ExitWindows()函數(shù)
WM_QUIT 0x0012 用來結束程序運行或應用程序調用Postquitmessage()函數(shù)來產生此消息
WM_QUERYOPEN 0x0013 當用戶窗口恢復以前的大小位置時,把此消息發(fā)送給某個圖標
WM_ERASEBKGND 0x0014 當窗口背景必須被擦除時(例如在窗口改變大小時)
WM_SYSCOLORCHANGE 0x0015 當系統(tǒng)顏色改變時,發(fā)送此消息給所有頂級窗口
WM_ENDSESSION 0x0016 當系統(tǒng)進程發(fā)出WM_QUERYENDSESSION消息后,此消息發(fā)送給應用程序
WM_SHOWWINDOW 0x0018 當隱藏或顯示窗口是發(fā)送此消息給這個窗口
WM_ACTIVATEAPP 0x001C 當某個窗口將被激活時,將被激活窗口和當前活動(即將失去激活)窗口會收到此消息,發(fā)此消息給應用程序哪個窗口是激活的,哪個是非激活的
WM_FONTCHANGE 0x001D 當系統(tǒng)的字體資源庫變化時發(fā)送此消息給所有頂級窗口
WM_TIMECHANGE 0x001E 當系統(tǒng)的時間變化時發(fā)送此消息給所有頂級窗口
WM_CANCELMODE 0x001F 發(fā)送此消息來取消某種正在進行的操作
WM_SETCURSOR 0x0020 如果鼠標引起光標在某個窗口中移動且鼠標輸入沒有被捕獲時,發(fā)消息給該窗口
WM_MOUSEACTIVATE 0x0021 當光標在某個非激活的窗口中而用戶正按著鼠標的某個鍵發(fā)送此消息給當前窗口
WM_CHILDACTIVATE 0x0022 發(fā)送此消息給MDI子窗口當用戶點擊此窗口的標題欄,或當窗口被激活、移動、改變大小
WM_QUEUESYNC 0x0023 此消息由基于計算機的訓練程序發(fā)送,通過WH_JOURNALPALYBACK的Hook程序分離出用戶輸入消息
WM_GETMINMAXINFO 0x0024 當窗口要將要改變大小或位置時,發(fā)送此消息給該窗口
WM_PAINTICON 0x0026 當窗口圖標將要被重繪時,發(fā)送此消息給該窗口
WM_ICONERASEBKGND 0x0027 在一個最小化窗口的圖標在重繪前,當圖標背景必須被重繪時,發(fā)送此消息給該窗口
WM_NEXTDLGCTL 0x0028 發(fā)送此消息給一個對話框程序以更改焦點位置
WM_SPOOLERSTATUS 0x002A 當打印管理列隊增加或減少一條作業(yè)時發(fā)出此消息
WM_DRAWITEM 0x002B 當Button,ComboBox,Listbox,Menu控件的外觀改變時,發(fā)送此消息給這些控件的所有者
WM_MEASUREITEM 0x002C 當Button,ComboBox,list
box,ListView,Menu 項被創(chuàng)建時,發(fā)送此消息給控件的所有者
WM_DELETEITEM 0x002D 當ListBox 或 ComboBox
被銷毀或當某些項通過發(fā)送LB_DELETESTRING、LB_RESETCONTENT、 CB_DELETESTRING、CB_RESETCONTENT
消息被刪除時,發(fā)送此消息給控件的所有者
WM_VKEYTOITEM 0x002E 一個具有LBS_WANTKEYBOARDINPUT風格的ListBox控件發(fā)送此消息給它的所有者,以此來響應WM_KEYDOWN消息
WM_CHARTOITEM 0x002F 一個具有LBS_WANTKEYBOARDINPUT風格的ListBox控件發(fā)送此消息給它的所有者,以此來響應WM_CHAR消息
WM_SETFONT 0x0030 應用程序繪制控件時,發(fā)送此消息得到以何種字體繪制控件中的文本
WM_GETFONT 0x0031 應用程序發(fā)送此消息得到當前控件繪制文本的字體
WM_SETHOTKEY 0x0032 應用程序發(fā)送此消息讓一個窗口與一個熱鍵相關聯(lián)
WM_GETHOTKEY 0x0033 應用程序發(fā)送此消息來判斷熱鍵與某個窗口是否有關聯(lián)
WM_QUERYDRAGICON 0x0037 此消息發(fā)送給最小化窗口,當此窗口將要被拖放而它的類中沒有定義圖標,應用程序就返回一個圖標或光標的句柄,當用戶拖放圖標時系統(tǒng)顯示這個圖標或光標
WM_COMPAREITEM 0x0039 發(fā)送此消息來判定ComboBox或ListBox新增加的項的相對位置
WM_COMPACTING 0x0041 顯示內存已經很少了
WM_WINDOWPOSCHANGING 0x0046 當調用SetWindowPos()函數(shù)改變窗口的大小和位置后,發(fā)送此消息給該窗口
WM_POWER 0x0048 當系統(tǒng)將進入掛起狀態(tài)時發(fā)送此消息給所有進程
WM_COPYDATA 0x004A 當一個應用程序傳遞數(shù)據(jù)給另一個應用程序時發(fā)送此消息
WM_CANCELJOURNAL 0x004B 當某個用戶取消程序日志激活狀態(tài),發(fā)送此消息給應用程序
WM_NOTIFY 0x004E 當某個控件的某個事件已經發(fā)生或這個控件需要得到一些信息時,發(fā)送此消息給它的父窗口
WM_INPUTLANGCHANGEREQUEST 0x0050 當用戶選擇某種輸入語言,或輸入語言的熱鍵改變
WM_INPUTLANGCHANGE 0x0051 當應用程序輸入語言改變后發(fā)送此消息給受影響的最頂級窗口
WM_TCARD 0x0052 當應用程序已經初始化Windows幫助例程時發(fā)送此消息給應用程序
WM_HELP 0x0053 當用戶按下了F1,如果某個菜單是激活的,就發(fā)送此消息給此窗口關聯(lián)的菜單,否則就發(fā)送給有焦點的窗口,如果當前都沒有焦點,就把此消息發(fā)送給當前激活的窗口
WM_USERCHANGED 0x0054 當用戶已經登錄或退出后發(fā)送此消息給所有的窗口,當用戶登錄或退出時系統(tǒng)更新用戶的具體設置信息,在用戶更新設置時系統(tǒng)馬上發(fā)送此消息
WM_NOTIFYFORMAT 0x0055 公用控件和它們的父窗口通過此消息來判斷在WM_NOTIFY消息中是使用ANSI還是UNICODE形式的結構,使用此控件能使某個控件與它的父控件進行相互通信
WM_CONTEXTMENU 0x007B 當用戶在某個窗口中點擊右鍵,則發(fā)送此消息給該窗口
WM_STYLECHANGING 0x007C 當將要調用SetWindowLong()函數(shù)窗口的一個或多個風格時,發(fā)送此消息給該窗口
WM_STYLECHANGED 0x007D 當調用SetWindowLong()函數(shù)改變了窗口的一個或多個風格后,發(fā)送此消息給該窗口
WM_DISPLAYCHANGE 0x007E 當顯示器的分辨率改變后發(fā)送此消息給所有的窗口
WM_GETICON 0x007F 發(fā)送此消息給某個窗口,返回與某個窗口有關聯(lián)的大圖標或小圖標的句柄
WM_SETICON 0x0080 應用程序發(fā)送此消息讓一個新的大圖標或小圖標與某個窗口關聯(lián)
WM_NCCREATE 0x0081 當某個窗口第一次被創(chuàng)建時,此消息在WM_CREATE消息被發(fā)送前發(fā)送
WM_NCDESTROY 0x0082 此消息通知某個窗口,正在銷毀非客戶區(qū)
WM_NCCALCSIZE 0x0083 當計算某個窗口的客戶區(qū)大小和位置時發(fā)送此消息
WM_NCHITTEST 0x0084 移動鼠標,按住或釋放鼠標時產生此消息
WM_NCPAINT 0x0085 當某個窗口的框架必須被繪制時,應用程序發(fā)送此消息給該窗口
WM_NCACTIVATE 0x0086 通過改變某個窗口的非客戶區(qū)來表示窗口是處于激活還是非激活狀態(tài)時,此消息被發(fā)送給該窗口
WM_NCMOUSEMOVE 0x00A0 當光標在窗口的非客戶區(qū)(窗口標題欄及邊框)內移動時發(fā)送此消息給該窗口
WM_NCLBUTTONDOWN 0x00A1 當光標在窗口的非客戶區(qū)并按下鼠標左鍵時發(fā)送此消息
WM_NCLBUTTONUP 0x00A2 當光標在窗口的非客戶區(qū)并釋放鼠標左鍵時發(fā)送此消息
WM_NCLBUTTONDBLCLK 0x00A3 當光標在窗口的非客戶區(qū)并雙擊鼠標左鍵時發(fā)送此消息
WM_NCRBUTTONDOWN 0x00A4 當光標在窗口的非客戶區(qū)并按下鼠標右鍵時發(fā)送此消息
WM_NCRBUTTONUP 0x00A5 當光標在窗口的非客戶區(qū)并釋放鼠標右鍵時發(fā)送此消息
WM_NCRBUTTONDBLCLK 0x00A6 當光標在窗口的非客戶區(qū)并雙擊鼠標右鍵時發(fā)送此消息
WM_NCMBUTTONDOWN 0x00A7 當光標在窗口的非客戶區(qū)并按下鼠標中鍵時發(fā)送此消息
WM_NCMBUTTONUP 0x00A8 當光標在窗口的非客戶區(qū)并釋放鼠標中鍵時發(fā)送此消息
WM_NCMBUTTONDBLCL 0x00A9 當光標在窗口的非客戶區(qū)并雙擊鼠標中鍵時發(fā)送此消息
WM_KEYDOWN 0x0100 按下一個非系統(tǒng)鍵(按下鍵時未按下“ALT”鍵)
WM_KEYUP 0x0101 釋放一個非系統(tǒng)鍵
WM_CHAR 0x0102 按下某鍵,當TranslateMessage()轉發(fā)WM_KEYDOWN后發(fā)送本消息
WM_DEADCHAR 0x0103 釋放某鍵,當TranslateMessage()轉發(fā)WM_KEYUP后發(fā)送本消息
WM_SYSKEYDOWN 0x0104 當按住ALT鍵同時按下其他鍵時發(fā)送此消息給擁有鍵盤焦點的窗口
WM_SYSKEYUP 0x0105 當釋放一個鍵同時按住ALT鍵時發(fā)送此消息給擁有鍵盤焦點的窗口
WM_SYSCHAR 0x0106 當TranslateMessage()轉發(fā)WM_SYSKEYDOWN后發(fā)送此消息給擁有鍵盤焦點的窗口
WM_SYSDEADCHAR 0x0107 當TranslateMessage()轉發(fā)WM_SYSKEYUP后發(fā)送此消息給擁有鍵盤焦點的窗口
WM_INITDIALOG 0x0110 在被顯示前發(fā)送此消息對話框,通常用此消息初始化控件和執(zhí)行其他任務
WM_COMMAND 0x0111 選擇窗口菜單項或某個控件發(fā)送一條消息給它的父窗口或按下一個快捷鍵時產生此消息
WM_SYSCOMMAND 0x0112 選擇窗口菜單項或選擇最大化或最小化時,發(fā)送此消息給該窗口
WM_TIMER 0x0113 發(fā)生了定時器事件
WM_HSCROLL 0x0114 當窗口水平滾動條產生一個滾動事件時發(fā)送此消息給該窗口和滾動條的所有者
WM_VSCROLL 0x0115 當窗口垂直滾動條產生一個滾動事件時發(fā)送此消息給該窗口和滾動條的所有者
WM_INITMENU 0x0116 當一個菜單將要被激活時發(fā)送此消息,它發(fā)生在按下菜單項或按下菜單快捷鍵時,它允許程序在顯示前更改菜單
WM_INITMENUPOPUP 0x0117 當一個下拉菜單或子菜單將要被激活時發(fā)送此消息,它允許顯示前在修改菜單而不必更改整個菜單
WM_MENUSELECT 0x011F 選擇一條菜單項時發(fā)送此消息給菜單的所有者(一般是窗口)
WM_MENUCHAR 0x0120 當菜單已被激活且用戶按下了某個鍵(非快捷鍵),發(fā)送此消息給菜單的所有者
WM_ENTERIDLE 0x0121 當一個有模式對話框或菜單進入空閑狀態(tài)時發(fā)送此消息給它的所有者,空閑狀態(tài)指在處理完一條或幾條先前的消息后,消息列隊為空
WM_MENURBUTTONUP 0x0122 當光標位于菜單項上時,釋放鼠標右鍵產生此消息
WM_MENUDRAG 0x0123 當拖動菜單項時,發(fā)送此消息給拖放菜單的所有者
WM_MENUGETOBJECT 0x0124 當光標移入菜單項或者從菜單項中心移到菜單項頂部或底部時,發(fā)送此消息給拖放菜單的所有者
WM_UNINITMENUPOPUP 0x0125 當下拉菜單或者子菜單被銷毀時產生此消息
WM_MENUCOMMAND 0x0126 當用戶選擇菜單項時產生此消息
WM_CHANGEUISTATE 0x0127 應用程序發(fā)送此消息表明用戶界面(UI)狀態(tài)應當被改變
WM_UPDATEUISTATE 0x0128 應用程序發(fā)送此消息改變指定窗口及其子窗口的用戶界面(UI)狀態(tài)
WM_QUERYUISTATE 0x0129 應用程序發(fā)送此消息得到某個窗口的用戶界面(UI)狀態(tài)
WM_CTLCOLORMSGBOX 0x0132 繪制消息框前發(fā)送此消息給它的父窗口,通過響應這條消息,父窗口可以通過使用給定的相關顯示設備的句柄來設置消息框的文本和背景顏色
WM_CTLCOLOREDIT 0x0133 繪制編輯型控件前發(fā)送此消息給它的父窗口,可用來設置編輯框的文本和背景顏色
WM_CTLCOLORLISTBOX 0x0134 繪制列表框控件前發(fā)送此消息給它的父窗口,可用來設置編輯框的文本和背景顏色
WM_CTLCOLORBTN 0x0135 繪制按鈕控件前發(fā)送此消息給它的父窗口,可用來設置編輯框的文本和背景顏色
WM_CTLCOLORDLG 0x0136 繪制對話框前發(fā)送此消息給它的父窗口,可用來設置編輯框的文本和背景顏色
WM_CTLCOLORSCROLLBAR 0x0137 繪制滾動條控件前發(fā)送此消息給它的父窗口,可用來設置滾動條控件的文本和背景顏色
WM_CTLCOLORSTATIC 0x0138 繪制靜態(tài)控件前發(fā)送此消息給它的父窗口,可用來設置靜態(tài)控件的文本和背景顏色
WM_MOUSEMOVE 0x0200 鼠標移動
WM_LBUTTONDOWN 0x0201 按下鼠標左鍵
WM_LBUTTONUP 0x0202 釋放鼠標左鍵
WM_LBUTTONDBLCLK 0x0203 雙擊鼠標左鍵
WM_RBUTTONDOWN 0x0204 按下鼠標右鍵
WM_RBUTTONUP 0x0205 釋放鼠標右鍵
WM_RBUTTONDBLCLK 0x0206 雙擊鼠標右鍵
WM_MBUTTONDOWN 0x0207 按下鼠標中鍵
WM_MBUTTONUP 0x0208 釋放鼠標中鍵
WM_MBUTTONDBLCLK 0x0209 雙擊鼠標中鍵
WM_MOUSEWHEEL 0x020A 當鼠標滾輪轉動時發(fā)送此消息給當前獲得焦點的窗口
WM_PARENTNOTIFY 0x0210 當MDI子窗口被創(chuàng)建或被銷毀,或當光標位于子窗口上且用戶按了一下鼠標鍵時,發(fā)送此消息給它的父窗口
WM_ENTERMENULOOP 0x0211 發(fā)送此消息通知應用程序的主窗口進程已經進入了菜單模式循環(huán)
WM_EXITMENULOOP 0x0212 發(fā)送此消息通知應用程序的主窗口進程已經退出了菜單模式循環(huán)
WM_SIZING 0x0214 調整窗口大小時發(fā)送此消息給窗口,通過此消息應用程序可以監(jiān)視或修改窗口大小和位置
WM_CAPTURECHANGED 0x0215 當窗口設定為不捕獲鼠標事件時,發(fā)送此消息給該窗口
WM_MOVING 0x0216 移動窗口時發(fā)送此消息給窗口,通過此消息應用程序可以監(jiān)視或修改窗口大小和位置
WM_POWERBROADCAST 0x0218 發(fā)送此消息給應用程序通知它有關電源管理事件
WM_DEVICECHANGE 0x0219 當設備的硬件配置改變時發(fā)送此消息給應用程序或設備驅動程序
WM_MDICREATE 0x0220 應用程序發(fā)送此消息給多文檔的客戶窗口來創(chuàng)建一個MDI
子窗口
WM_MDIDESTROY 0x0221 應用程序發(fā)送此消息給多文檔的客戶窗口來關閉一個MDI
子窗口
WM_MDIACTIVATE 0x0222 應用程序發(fā)送此消息給多文檔的客戶窗口通知客戶窗口激活另一個MDI子窗口,當客戶窗口收到此消息后,它發(fā)出WM_MDIACTIVE消息給MDI子窗口(未激活)來激活它
WM_MDIRESTORE 0x0223 應用程序發(fā)送此消息給MDI客戶窗口通知子窗口恢復到原來大小
WM_MDINEXT 0x0224 應用程序發(fā)送此消息給MDI客戶窗口激活下一個或前一個窗口
WM_MDIMAXIMIZE 0x0225 應用程序發(fā)送此消息給MDI客戶窗口以最大化一個MDI子窗口
WM_MDITILE 0x0226 應用程序發(fā)送此消息給MDI客戶窗口以平鋪方式重新排列所有MDI子窗口
WM_MDICASCADE 0x0227 應用程序發(fā)送此消息給MDI客戶窗口以層疊方式重新排列所有MDI子窗口
WM_MDIICONARRANGE 0x0228 應用程序發(fā)送此消息給MDI客戶窗口重新排列所有最小化的MDI子窗口
WM_MDIGETACTIVE 0x0229 應用程序發(fā)送此消息給MDI客戶窗口以找到激活的子窗口的句柄
WM_MDISETMENU 0x0230 應用程序發(fā)送此消息給MDI客戶窗口用MDI菜單代替子窗口的菜單
WM_ENTERSIZEMOVE 0x0231 當窗口進入移動或改變大小模式循環(huán)時,發(fā)送此消息給該窗口
WM_EXITSIZEMOVE 0x0232 當窗口退出移動或改變大小模式循環(huán)時,發(fā)送此消息給該窗口
WM_DROPFILES 0x0233 當用戶在應用程序窗口中拖動某個文件時,產生此消息
WM_MDIREFRESHMENU 0x0234 應用程序發(fā)送此消息給MDI客戶窗口以刷新窗口菜單
WM_MOUSEHOVER 0x02A1 當光標在窗口客戶區(qū)懸停超過TrackMouseEvent()指定的時間時,發(fā)送此消息給該窗口
WM_MOUSELEAVE 0x02A3 當光標離開窗口客戶區(qū)超過TrackMouseEvent()指定的時間時,發(fā)送此消息給該窗口
WM_CUT 0x0300 應用程序發(fā)送此消息給一個編輯框或ComboBox以刪除當前選擇的文本
WM_COPY 0x0301 應用程序發(fā)送此消息給一個編輯框或ComboBox以復制當前選擇的文本到剪貼板
WM_PASTE 0x0302 應用程序發(fā)送此消息給一個編輯框或ComboBox以從剪貼板中得到數(shù)據(jù)
WM_CLEAR 0x0303 應用程序發(fā)送此消息給一個編輯框或ComboBox以清除當前選擇的內容
WM_UNDO 0x0304 應用程序發(fā)送此消息給一個編輯框或ComboBox以撤消最后一次操作
WM_DESTROYCLIPBOARD 0x0307 當調用EmptyClipboard()清空剪貼板時,發(fā)送此消息給剪貼板所有者
WM_DRAWCLIPBOARD 0x0308 當剪貼板的內容變化時發(fā)送此消息給剪貼板觀察鏈中的第一個窗口,它允許用剪貼板觀察窗口來顯示剪貼板的新內容
WM_PAINTCLIPBOARD 0x0309 當剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)且剪貼板觀察窗口的客戶區(qū)需要重繪時,發(fā)送此消息給剪貼板所有者
WM_VSCROLLCLIPBOARD 0x030A 當剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)且剪貼板觀察窗口發(fā)生垂直滾動條事件時,剪貼板觀察窗口發(fā)送此消息給剪貼板所有者
WM_SIZECLIPBOARD 0x030B 當剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)且剪貼板觀察窗口的客戶區(qū)域的大小已經改變時,剪貼板觀察窗口發(fā)送此消息給剪貼板的所有者
WM_ASKCBFORMATNAME 0x030C 剪貼板觀察窗口發(fā)送此消息給剪貼板所有者以獲得CF_OWNERDISPLAY剪貼板格式的名字
WM_CHANGECBCHAIN 0x030D 當一個窗口從剪貼板觀察鏈中移去時發(fā)送此消息給剪貼板觀察鏈中的第一個窗口
WM_HSCROLLCLIPBOARD 0x030E 當剪貼板包含CF_OWNERDIPLAY格式的數(shù)據(jù)且剪貼板觀察窗口發(fā)生水平滾動條事件時,剪貼板觀察窗口發(fā)送此消息給剪貼板所有者
WM_QUERYNEWPALETTE 0x030F 發(fā)送此消息給將要獲得鍵盤焦點的窗口,此消息使窗口在獲得焦點時同時有機會實現(xiàn)它的邏輯調色板
WM_PALETTEISCHANGING 0x0310 應用程序將要實現(xiàn)它的邏輯調色板時發(fā)送此消息通知所有應用程序
WM_PALETTECHANGED 0x0311 獲得焦點的窗口實現(xiàn)它的邏輯調色板后發(fā)送此消息給所有頂級并重疊的窗口,以此
來改變系統(tǒng)調色板
WM_HOTKEY 0x0312 當用戶按下由RegisterHotKey()注冊的熱鍵時產生此消息
WM_PRINT 0x0317 應用程序發(fā)送此消息給窗口,要求窗口在指定設備環(huán)境中繪制自己,一般情況下是打印機設備環(huán)境
WM_PRINTCLIENT 0x0318 應用程序發(fā)送此消息給窗口,要求窗口在指定設備環(huán)境中繪制窗口客戶區(qū),一般情況下是打印機設備環(huán)境
WM_APP 0x8000 幫助用戶自定義消息,自定義消息可以為WM_APP+X,X為正整數(shù)
WM_USER 0x0400 幫助用戶自定義消息,自定義消息可以為WM_USER+X,X為正整數(shù)
|