随笔分类 -  Windows 消息

1 2 下一页
通过消息跨进程发送与接收 TCopyDataStruct 数据 - 回复 "skymesh"
摘要:问题来源: http://www.cnblogs.com/del/archive/2009/10/09/1579614.html#1779614这几天家有病人, 几天没上网了; 看到这个问题我会, 顺便回复了.发送代码:接收代码:该代码已在 Delphi 2010 下测试过了.发现 skymesh 朋友对消息操作不是太熟, 顺便告知个小技巧(其实博客中可能早提到过):在 TForm1 = clas... 阅读全文
posted @ 2010-03-15 18:24 万一 阅读(6069) 评论(7) 推荐(0) 编辑
SendTextMessage 等方便的消息发送函数
摘要:突然发现 Message 单元的最后给提供了几个方便的消息发送函数:SendTextMessage、SendStructMessage、SendGetStructMessage、SendGetIntMessage虽然函数实现的很简单, 但用他们发送文本、结构和整数, 的确方便了不少; 下面仅就 SendTextMessage 举例://例子是通过发送消息的方法给 Edit 赋值:unit Unit... 阅读全文
posted @ 2009-10-09 13:49 万一 阅读(8308) 评论(10) 推荐(0) 编辑
让窗体接受拖放, 并获取拖过来的文件信息 - 回复 "海浪问" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2009/01/20/1353117.html#1435746 原理分析: 这需要用到 ShellAPI 单元的两个函数: DragAcceptFiles、DragQueryFile; 用 DragAcceptFiles(窗口句柄, True); 以让窗口能够接受拖放; 然后就等待 WM_DROPFILES... 阅读全文
posted @ 2009-01-20 21:14 万一 阅读(4578) 评论(12) 推荐(0) 编辑
学习 Message(22): WM_SYSCOMMAND 消息[六] : 系统菜单综合操作示例
摘要:本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; B... 阅读全文
posted @ 2008-10-31 22:09 万一 阅读(3098) 评论(0) 推荐(0) 编辑
学习 Message(21): WM_SYSCOMMAND 消息[五] : 点击关闭按钮让窗体最小化
摘要:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) protected procedure WMSysCommand(var Message: ... 阅读全文
posted @ 2008-10-31 16:57 万一 阅读(4083) 评论(9) 推荐(0) 编辑
学习 Message(20): WM_SYSCOMMAND 消息[四] : 使最大最小化按钮失效
摘要:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) protected procedure WMSysCommand(var Message: ... 阅读全文
posted @ 2008-10-31 16:52 万一 阅读(2935) 评论(0) 推荐(0) 编辑
学习 Message(19): WM_SYSCOMMAND 消息[三] : WParam 参数
摘要:TMessage.WParam 就是 TWMSysCommand.CmdType; 这是系统命令编号. 下面程序会把 WParam 拦截, 并显示的窗体标题. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, S... 阅读全文
posted @ 2008-10-31 16:41 万一 阅读(3962) 评论(0) 推荐(0) 编辑
学习 Message(18): WM_SYSCOMMAND 消息[二] : LParam 参数
摘要:WM_SYSCOMMAND 消息的 LParam 参数是鼠标位置, 低位是 X, 高位是 Y. 下面三段程序是一样的只是使用不同类型的消息参数, 用 TWMSysCommand 更方便, 用 TMessage 更正统. 程序一: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Gr... 阅读全文
posted @ 2008-10-31 16:26 万一 阅读(4327) 评论(2) 推荐(0) 编辑
学习 Message(17): WM_SYSCOMMAND 消息[一]
摘要:已有定义的系统命令常数(感觉有些有问题): SC_SIZE = 61440; SC_MOVE = 61456; SC_MINIMIZE = 61472; SC_MAXIMIZE = 61488; SC_NEXTWINDOW = 61504; SC_PREVWINDOW = 61520; SC_CLOSE = 61536; S... 阅读全文
posted @ 2008-10-31 14:44 万一 阅读(8603) 评论(3) 推荐(0) 编辑
学习 Message(16): 测试 $0118 号消息
摘要:目前对 $0118 号消息的认识: 1、微软和 Delphi 都没有给改消息定义一个常量, 假如定义的话用 WM_SYSTIMER 比较合适; 2、此消息只在文本输入类控件(譬如: TMemo、TRichEdit、TEdit)获得焦点时才会发出, 用于控制输入光标; 3、此消息每秒一次, 和输入光标同步; 4、此消息一旦达到目的立即就返回了, 所以用消息方法和 WndProc、Dispatch 甚... 阅读全文
posted @ 2008-10-31 12:04 万一 阅读(2620) 评论(0) 推荐(0) 编辑
学习 Message(15): 让窗体同时响应键盘事件的方法
摘要:KeyPreview := True; 即可, 它默认是 False; 这对一些快捷键会有用. 测试代码: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = ... 阅读全文
posted @ 2008-10-30 14:19 万一 阅读(4157) 评论(5) 推荐(0) 编辑
学习 Message(14): 区分左右 Shift、Ctrl、Alt
摘要:代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure For... 阅读全文
posted @ 2008-10-30 13:37 万一 阅读(3466) 评论(2) 推荐(0) 编辑
学习 Message(13): 解析 TWMMouse.Keys 参数
摘要:本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) protected procedure MyMouseDown... 阅读全文
posted @ 2008-10-30 13:08 万一 阅读(2346) 评论(0) 推荐(0) 编辑
学习 Message(12): 整合鼠标 Down 消息
摘要:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) protected procedure WMLButtonDown(var Message:... 阅读全文
posted @ 2008-10-30 11:39 万一 阅读(2236) 评论(3) 推荐(0) 编辑
学习 Message(11): 测试 TWMMouse 结构相关的鼠标消息
摘要:和 TWMMouse 一致的消息结构有: TWMLButtonDblClk {左键双击} TWMLButtonDown {左键按下} TWMLButtonUp {左键抬起} TWMMButtonDblClk {中键双击} TWMMButtonDown {中键按下} TWMMButtonUp {中键抬起} TWMMouseMove {鼠标移动} TWMRButton... 阅读全文
posted @ 2008-10-29 17:27 万一 阅读(2774) 评论(3) 推荐(0) 编辑
学习 Message(10): WM_CancelMode 消息测试
摘要:启动模式窗口, 当前窗口会收到一条 WM_CancelMode 消息; 改消息无参数. 本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm... 阅读全文
posted @ 2008-10-29 16:03 万一 阅读(4183) 评论(0) 推荐(0) 编辑
学习 Message(9): 消息结构纵览
摘要:传递消息就是传递消息数据, 数据是一组数据, 所以消息是一个结构; 系统标准的消息结构在 Delphi 中被定义为 TMsg PMsg = ^TMsg; tagMSG = packed record hwnd: HWND; message: UINT; wParam: WPARAM; lParam: LPARAM; time: DWORD; pt: TPoint; en... 阅读全文
posted @ 2008-10-29 14:29 万一 阅读(6317) 评论(3) 推荐(0) 编辑
学习 Message(8): 使用不同的消息结构
摘要:下面是同样的四段程序, 但分别使用了不同的三种消息结构: TWMMouseMove、TWMMouse、TMessage unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = clas... 阅读全文
posted @ 2008-10-28 18:25 万一 阅读(2861) 评论(4) 推荐(0) 编辑
学习 Message(7): OnMessage 只相应消息队列中的消息
摘要:Perform、SendMessage 会直接发送消息到窗体过程; PostMessage 是把消息放入消息队列. 因为 Application.OnMessage 只接收队列中的消息, 所以 Perform、SendMessage 发送的消息, OnMessage 收不到. 测试如下: 代码文件: unit Unit1; interface uses Windows, Me... 阅读全文
posted @ 2008-10-28 16:58 万一 阅读(5509) 评论(9) 推荐(0) 编辑
学习 Message(6): 也可以直接覆盖祖先类的 WndProc 或 Dispatch 方法来响应消息
摘要:覆盖: WndProc unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) protected procedure WndProc(var Me... 阅读全文
posted @ 2008-10-25 12:32 万一 阅读(3101) 评论(1) 推荐(0) 编辑

1 2 下一页