随笔分类 -  Message

摘要:我想截取TDBGrid的消息,不知各高手能否指教。  是所有的吗? procedure MyProc(aHandle: HWND; msg: UINT; wParam: WPARAM;                  lParam: LPARAM); stdcall; begin   ....   //记得 CallWindowProc(t, aDBgrid.Handle, msg, wPara... 阅读全文
posted @ 2011-01-14 14:47 覆雨翻云 阅读(2350) 评论(0) 推荐(0)
摘要:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1610388 我用spy++对一个程序进行消息截取,主要是想看看WM_LBUTTONDBLCLK消息如何发送的,结果如下: WM_LBUTTONDOWN, WM_LBUTTONUP, WM_LBUTTONDBLCLK,(是不是代替了WM_LBUTTONDOWN?这是我不明白的地方[:D]) WM_... 阅读全文
posted @ 2011-01-02 23:22 覆雨翻云 阅读(5111) 评论(0) 推荐(0)
摘要:开发中,经常需要对一些编辑框作输入限制,如限制只能输入0..9的数字,这通过OnKeyPress事件即可达到:if not (Key in ['0'..'9', #8]) then Key := #0; 但是这只能限制键盘输入,对通过鼠标右键粘贴的情况就无法进行限制啦。下面的代码是通过对编辑框进行subclass而过滤掉WM_CONTEXTMENU右键菜单消息,从而达到屏蔽右键菜单。 var  ... 阅读全文
posted @ 2010-12-10 23:25 覆雨翻云 阅读(1636) 评论(0) 推荐(0)
摘要:求助:有谁知道Delphi中窗口的创建过程,此“窗口”不仅仅指 TForm 类型, 还包括一般的窗口控件,如TButton,TEdit等等,希望有能够十分详细的运作 过程,比如说CreatParams,CreateWindowHandle等等函数的调用情况,可能 调试过 Delphi VCL 源代码这个问题才能解决此问题,我很想知道。谢谢!  你的问题只需要从对象的概念来理解也就好了呀! 其实在D... 阅读全文
posted @ 2010-12-10 17:41 覆雨翻云 阅读(3390) 评论(0) 推荐(0)
摘要:位大虾,      这个问题在VCL中是怎样处理的呀?   例如:Tedit中有一个事件是onkeypress,应用如下:    那么这个事件是怎么样和WIN32中的WM-CHAR联系上的呢?    VCL是怎么做的?你可以在程序的开头(在Uses后面)先将你的消息赋值为一个常量,如:然后你要自己定义这个消息的结构,如:调用的时候Var MSG1:TMyMSG;说明这个消息是MyMSG消息的结构形... 阅读全文
posted @ 2010-12-10 17:25 覆雨翻云 阅读(534) 评论(0) 推荐(0)
摘要:    说到VCL中的消息处理就不能不提到TApplication,Windows会为每一个当前运行的程序建立一个消息队列,用来完成用户与程序的交互,正是通过Application完成了对Windows消息的集中处理!     首先通过Application.Run进入消息循环进行消息的处理,其中调用了HandleMessage。 然后程序中的各个VCL对象又是如何接收到Windows消息的呢... 阅读全文
posted @ 2010-12-10 17:12 覆雨翻云 阅读(2241) 评论(1) 推荐(0)
摘要:1. 窗口过程     每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle),消息ID(Message ID),和两个消息参数(wParam, lParam), 当窗口收到消息时系统就会调用此窗口过程来处理消息。(所以叫回调函数) 2 消息类型 1) 系统定义消息(System-Defined Messages) 在SDK中事先定... 阅读全文
posted @ 2010-12-10 16:18 覆雨翻云 阅读(22203) 评论(1) 推荐(4)