写Windows程序不可避免要使用自定义的消息,也就是从WM_USER开始定义的消息.在定义一个消息后,往往我们还要定义针对该消息的WPARAM甚至是LPARAM.WPARAM和LPARAM是什么,可以参考MSDN的SendMessage或者WindowProc.归结成一点就是对应消息的额外附带信息. 从我个人的经历来看,当定义了一个消息并且还需要定义额外的附加信息时,往往该附加信息会被先定义到WPARAM上.为什么?很简单,因为SendMessage(HWND, UINT, WPARAM, L
SendMessage Return Values The return value specifies the result of the message processing and depends on the message sent. 这个返回值就是由相应的响应消息函数的返回值. 例如: 有自定义消息:WM_USER 其响应函数: LRESULT Cexample::OnUser(WPARAM wParam, LPARAM lParam) { //…. return 0; } 则用Se
来源:http://www.360doc.com/content/09/0814/10/19147_4907488.shtml,非常全面的解释. 文本框控件通常用于输入和编辑文字.它属于标准 Windows 编辑控件的一个子类,所以它支持所有编辑控件消息.这儿讲述的技术也适用于由其他厂商设计的,以Windows编辑控件类为基础的其他控件. 函数原型: Declare Function SendMessage Lib "user32" Alias "SendMessageA&q
这是一个再普通不过的Button1Click执行体: procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('I am Button1'); end; 点击Button1以后,具体过程是:Form收到Button1发来的WM_COMMAND,然后发一个CN_COMMAND给Button1,这个过程就不描述了.这里研究的是VCL在接下去是如何执行的: procedure TButton.CNCommand(var Mes