没有合适的资源?快使用搜索试试~ 我知道了~
Window 消息大全使用詳解
资源推荐
资源详情
资源评论
Window 消息大全使用詳解
消息大全使用詳解消息大全使用詳解
消息大全使用詳解
2005-03-14
列印自: 香港IT網
地址: http://www.hkitn.com/article.php/3311
[1]
消息,就是指Windows發出的一個通知,告訴應用程式某個事情發生了。例如,單擊滑鼠、改變視
窗尺寸、按下鍵盤上的一個鍵都會使Windows發送一個消息給應用程式。消息本身是作為一個記錄
傳遞給應用程式的,這個記錄中包含了消息的類型以及其他資訊。例如,對於單擊滑鼠所產生的消
息來說,這個記錄中包含了單擊滑鼠時的座標。這個記錄類型叫做TMsg,
它在Windows單元中是這樣聲明的:
type
TMsg = packed record
hwnd: HWND; / /窗口控制碼
message: UINT; / /消息常量識別字
wParam: WPARAM ; // 32位元消息的特定附加資訊
lParam: LPARAM ; // 32位元消息的特定附加資訊
time: DWORD; / /消息創建時的時間
pt: TPoint; / /消息創建時的滑鼠位置
end;
消息中有什麼?
是否覺得一個消息記錄中的資訊像希臘語一樣?如果是這樣,那麼看一看下面的解釋:
hwnd 32位元的窗口控制碼。視窗可以是任何類型的螢幕物件,因為Win32能夠維護大多數可視物
件的控制碼(視窗、對話方塊、按鈕、編輯框等)。
message 用於區別其他消息的常量值,這些常量可以是Windows單元中預定義的常量,也可以是自
定義的常量。
wParam 通常是一個與消息有關的常量值,也可能是視窗或控制項的控制碼。
lParam 通常是一個指向記憶體中資料的指標。由於W P a r a m、l P a r a m和P o i n t e r都是3 2
位的,
因此,它們之間可以相互轉換。
WM_NULL = $0000;
WM_CREATE = $0001;
應用程式創建一個視窗
WM_DESTROY = $0002;
一個視窗被銷毀
WM_MOVE = $0003;
移動一個視窗
WM_SIZE = $0005;
改變一個視窗的大小
WM_ACTIVATE = $0006;
一個視窗被啟動或失去啟動狀態;
WM_SETFOCUS = $0007;
獲得焦點後
WM_KILLFOCUS = $0008;
失去焦點
WM_ENABLE = $000A;
改變enable狀態
WM_SETREDRAW = $000B;
Page
1
of
11
香港
IT
網
Window
消息大全使用詳解
2007/3/19
http://www.hkitn.com/print.php/3311
設定視窗是否能重畫
WM_SETTEXT = $000C;
應用程式發送此消息來設定一個視窗的文本
WM_GETTEXT = $000D;
應用程式發送此消息來複製對應視窗的文本到緩衝區
WM_GETTEXTLENGTH = $000E;
得到與一個視窗有關的文本的長度(不包含空字元)
WM_PAINT = $000F;
要求一個視窗重畫自己
WM_CLOSE = $0010;
當一個視窗或應用程式要關閉時發送一個信號
WM_QUERYENDSESSION = $0011;
當用戶選擇結束對話方塊或程式自己調用ExitWindows函數
WM_QUIT = $0012;
用來結束程式執行或當程式調用postquitmessage函數
WM_QUERYOPEN = $0013;
當用戶視窗恢復以前的大小位置時,把此消息發送給某個圖示
WM_ERASEBKGND = $0014;
當視窗背景必須被擦除時(例在視窗改變大小時)
WM_SYSCOLORCHANGE = $0015;
當系統顏色改變時,發送此消息給所有頂級視窗
WM_ENDSESSION = $0016;
當系統進程發出WM_QUERYENDSESSION消息後,此消息發送給應用程式,
通知它對話是否結束
WM_SYSTEMERROR = $0017;
WM_SHOWWINDOW = $0018;
當隱藏或顯示視窗是發送此消息給這個視窗
WM_ACTIVATEAPP = $001C;
發此消息給應用程式哪個視窗是啟動的,哪個是非啟動的;
WM_FONTCHANGE = $001D;
當系統的字體資源庫變化時發送此消息給所有頂級視窗
WM_TIMECHANGE = $001E;
當系統的時間變化時發送此消息給所有頂級視窗
WM_CANCELMODE = $001F;
發送此消息來取消某種正在進行的摸態(操作)
WM_SETCURSOR = $0020;
如果滑鼠引起游標在某個視窗中移動且滑鼠輸入沒有被捕獲時,就發消息給某個視窗
WM_MOUSEACTIVATE = $0021;
當游標在某個非啟動的視窗中而用戶正按著滑鼠的某個鍵發送此消息給當前視窗
WM_CHILDACTIVATE = $0022;
發送此消息給MDI子視窗當用戶點擊此視窗的標題欄,或當視窗被啟動,移動,改變大小
WM_QUEUESYNC = $0023;
此消息由基於電腦的訓練程式發送,通過WH_JOURNALPALYBACK的hook程式
分離出用戶輸入消息
WM_GETMINMAXINFO = $0024;
此消息發送給視窗當它將要改變大小或位置;
WM_PAINTICON = $0026;
發送給最小化視窗當它圖示將要被重畫
WM_ICONERASEBKGND = $0027;
Page
2
of
11
香港
IT
網
Window
消息大全使用詳解
2007/3/19
http://www.hkitn.com/print.php/3311
此消息發送給某個最小化視窗,僅當它在畫圖示前它的背景必須被重畫
WM_NEXTDLGCTL = $0028;
發送此消息給一個對話方塊程式去更改焦點位置
WM_SPOOLERSTATUS = $002A;
每當列印管理列隊增加或減少一條作業時發出此消息
WM_DRAWITEM = $002B;
當button,combobox,listbox,menu的可視外觀改變時發送
此消息給這些空件的所有者
WM_MEASUREITEM = $002C;
當button, combo box, list box, list view control, or menu item 被創建時
發送此消息給控制項的所有者
WM_DELETEITEM = $002D;
[2]
當the list box 或 combo box 被銷毀 或 當 某些項被刪除通過LB_DELETESTRING,
LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT 消息
WM_VKEYTOITEM = $002E;
此消息有一個LBS_WANTKEYBOARDINPUT風格的發出給它的所有者來回應WM_KEYDOWN消息
WM_CHARTOITEM = $002F;
此消息由一個LBS_WANTKEYBOARDINPUT風格的列表框發送給他的所有者來回應WM_CHAR消息
WM_SETFONT = $0030;
當繪製文本時程式發送此消息得到控制項要用的顏色
WM_GETFONT = $0031;
應用程式發送此消息得到當前控制項繪製文本的字體
WM_SETHOTKEY = $0032;
應用程式發送此消息讓一個視窗與一個熱鍵相關連
WM_GETHOTKEY = $0033;
應用程式發送此消息來判斷熱鍵與某個窗口是否有關聯
WM_QUERYDRAGICON = $0037;
此消息發送給最小化視窗,當此視窗將要被拖放而它的類中沒有定義圖示,應用程式能返回一個圖
示或游標的控制碼,當用戶拖放圖示時系統顯示這個圖示或游標
WM_COMPAREITEM = $0039;
發送此消息來判定combobox或listbox新增加的項的相對位置
WM_GETOBJECT = $003D;
WM_COMPACTING = $0041;
顯示記憶體已經很少了
WM_WINDOWPOSCHANGING = $0046;
發送此消息給那個視窗的大小和位置將要被改變時,來調用setwindowpos函數或其他視窗管理函數
WM_WINDOWPOSCHANGED = $0047;
發送此消息給那個視窗的大小和位置已經被改變時,來調用setwindowpos函數或其他視窗管理函數
WM_POWER = $0048;(適用於16位的windows)
當系統將要進入暫停狀態時發送此消息
WM_COPYDATA = $004A;
當一個應用程式傳遞資料給另一個應用程式時發送此消息
WM_CANCELJOURNAL = $004B;
當某個用戶取消程式日誌啟動狀態,提交此消息給程式
WM_NOTIFY = $004E;
當某個控制項的某個事件已經發生或這個控制項需要得到一些資訊時,發送此消息給它的父視窗
WM_INPUTLANGCHANGEREQUEST = $0050;
Page
3
of
11
香港
IT
網
Window
消息大全使用詳解
2007/3/19
http://www.hkitn.com/print.php/3311
剩余10页未读,继续阅读
资源评论
heaven99
- 粉丝: 0
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Arduino Nano的红外循迹小车源码(高分课设).zip
- 将MS SQL数据库表里的数据内容生成SQL执行语句
- 基于MATLAB的钢板表面缺陷检测系统
- MS SQL里生成行政区域县区信息表和相应数据
- delphi实现DBGrid全选和反选功能
- 25C11F41-2B2A-4D1A-AAA8-7C654526B129.pdf
- Android Studio Jellyfish(android-studio-2023.3.1.18-cros.deb)
- MVC+EF框架+EasyUI实现权限管理源码程序
- python第66-75天,Day66-75.rar
- python后端服务project-of-tornado.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功