本例效果图:



代码文件:


unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Memo1: TMemo;procedure FormCreate(Sender: TObject);procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);protected{这句的输入方法: Ctrl+空格; 输入 moused 确认; 然后执行 Shift+Ctrl+C}procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X: Integer; Y: Integer); override;{这句的输入方法: Ctrl+空格; 输入 wmlbuttondo 确认; 然后执行 Shift+Ctrl+C}procedure WMLButtonDown(var Message: TWMLButtonDown); message WM_LBUTTONDOWN;end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
beginMemo1.Clear;
end;{响应 WM_LBUTTONDOWN 消息的方法 1: OnMouseDown 事件}
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
beginMemo1.Lines.Add('OnMouseDown');
end;{响应 WM_LBUTTONDOWN 消息的方法 2: 覆盖父类的 MouseDown 方法}
procedure TForm1.MouseDown(Button: TMouseButton; Shift: TShiftState; X,Y: Integer);
begininherited; {可以去掉或下移这句再试}Memo1.Lines.Add('MouseDown');
end;{响应 WM_LBUTTONDOWN 消息的方法 3: 直接使用消息方法}
procedure TForm1.WMLButtonDown(var Message: TWMLButtonDown);
beginMemo1.Lines.Add('WM_LBUTTONDOWN');inherited; {可以去掉或上移这句再试}
end;end.

窗体文件:


object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 123ClientWidth = 233Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalseOnCreate = FormCreateOnMouseDown = FormMouseDownPixelsPerInch = 96TextHeight = 13object Memo1: TMemoLeft = 0Top = 0Width = 137Height = 123Align = alLeftLines.Strings = ('Memo1')ScrollBars = ssVerticalTabOrder = 0ExplicitHeight = 206end
end

后面还有更多响应消息的办法.


转载于:https://www.cnblogs.com/del/archive/2008/10/24/1319062.html

学习 Message(3): 响应 WM_LBUTTONDOWN 消息相关推荐

  1. Windows消息机制学习笔记(三)—— 消息的接收与分发

    Windows消息机制学习笔记(三)-- 消息的接收与分发 要点回顾 消息循环 消息队列 消息的接收 GetMessage 实验1:理解GetMessage 第一步:编译并运行程序A 第二步:编译并运 ...

  2. Visual C++——无法响应WM_LBUTTONDBLCLK消息(鼠标左键双击)问题解决方案

    问题描述 在建立win32窗口项目的时候,发现窗口无法响应WM_LBUTTONDBLCLK(鼠标左键双击)消息. MSDN https://docs.microsoft.com/en-us/previ ...

  3. Win32汇编学习(7):鼠标输入消息

    这次我们将学习如何在我们的窗口过程函数中处理鼠标按键消息.例子演示了如何等待鼠标左键按下消息,我们将在按下的位置显示一个字符串. 理论: 和处理键盘输入一样,WINDOWS将捕捉鼠标动作并把它们发送到 ...

  4. Ajax的五种接收响应头消息(常用)

    学习本文你得先了解php与Ajax 我的PHP初探 Ajax的了解与应用 五种响应头消息 1. textt/plain 字符串 服务端的消息响应头:header("Content-Type: ...

  5. 【安卓学习笔记】Android Handler 消息机制探究

    一.概述 1.android消息机制的含义: Android消息机制,其实指的就是 Handler 的运行机制,而 Handler 要正常运作,又需要底层的 MessageQueue , Looper ...

  6. Windows消息机制学习笔记(一)—— 消息队列

    Windows消息机制学习笔记(一)-- 消息队列 基本概念 实验一:使用代码画出最简单窗口 第一步:编译并运行以下代码 第二步:查看运行结果 第三步:使用其它窗口对其进行覆盖,观察效果 总结 消息队 ...

  7. JMS : Java Message Service (Java消息服务)之一 [转]

    为什么80%的码农都做不了架构师?>>>    1 引言 1.1 编写目的 本文作为B2bi项目中开源产品JORAM的使用指导文档,旨在帮助项目组人员方便明了的进行JMS模块的详细设 ...

  8. MSMQ(MicroSoft Message Queue,微软消息队列)

    MSMQ(MicroSoft Message Queue,微软消息队列)是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位 ...

  9. MFC对话框程序中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息

    对话框中添加工具栏及工具栏上的Button响应UPDATE_COMMAND_UI消息 在对话框程序中添加工具栏其实很简单,网上能找到很多的例子.一般的步骤就是:1.在资源中添加工 具栏资源:2.在对话 ...

最新文章

  1. 不对全文内容进行索引的 Loki 到底优秀在哪里
  2. Mysql和Hadoop+Hive有什么关系?
  3. tableau可视化数据分析60讲(二)-tableau入门篇之各模块功能介绍
  4. 第四范式连续两年入选CB Insights全球AI百强榜
  5. [C#.NET 拾遗补漏]08:强大的LINQ
  6. .NET Core开发实战(第12课:配置变更监听)--学习笔记
  7. nginx php大文件上传,Nginx+PHP上传大文件设置
  8. perl6 HTTP::UserAgent (2)
  9. php redius,Linux下Redius的安装与部署详解
  10. 中国碳酸锰(CAS+598-62-9)市场趋势报告、技术动态创新及市场预测
  11. 接手线上Mysql服务器,我们需要做什么?
  12. 11.4.2 内存映射的相关接口
  13. php 去零取整,php取整的几种方法
  14. 10个超漂亮的CSS 3D特效
  15. 微信分享报错errMsg: “updateAppMessageShareData:fail, the permission value is offline verifying“
  16. git恢复修改的文件
  17. libcurl 库的编译
  18. 高斯朴素贝叶斯分类的原理解释和手写代码实现
  19. IT项目经理的大项目售前、售中和售后感悟
  20. 邀好友赢大奖!快来抽取你的 2019 新年上上签!

热门文章

  1. html5 页面 参数传递,详解html中页面跳转传递参数的问题
  2. php 函数 配置文件,php的几个配置文件函数
  3. 决策树原理实例(python代码实现)_决策树原理实例(python代码实现)
  4. python3.5安装scrapy_win10下基于python3.5安装scrapy教程
  5. python硬件交互_Python操作系统库说明,pythonos,笔记
  6. java 多模块项目 包路径冲突_多智能体仿真建模在交通中的应用|MATSim入门指南...
  7. 用积木做了个无人机。
  8. 【深度好文】过了30岁,做技术开发、工程师还有前途吗?
  9. mcs-51单片机视频教程——从硬件到c语言手把手的教,手把手从零教你学51单片机...
  10. php中update语句修改多个字段,Myabtis中批量更新update多字段