日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

VC/MFC中常用消息總結

 筆錄收藏 2012-09-11

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ù)

 

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多