`

Delphi自定义的消息的使用

阅读更多

 

阅:已验证,可通过;

摘自:http://blog.163.com/charls-007/blog/static/3545620820094309115530/

 

自定义的消息必须由用户向窗口发送。Windows 提供了两种不同的方法向窗口发送Windows 消息:
PostMessage 函数和SendMessage 函数。这里通过例子来说明如何使用自定义消息。使用自定义消息前,
首先要定义一个消息标识符常量,为了避免和系统中已有消息标识符冲突,可在WM_USER 消息标识
符的基础上添加一个常量来赋给要定义的消息标识符。然后可在单元文件中定义消息响应过程和消息
标识符常量。消息响应过程使用消息类TMessage 的变量为参数,随后应定义一个消息标识符变量,
变量名必须为Message。

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::以下为整个unit文件代码::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
const

 //定义一个WM_MYMESSAGE 消息
 WM_MYMESSAGE=WM_USER+5;
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
    Procedure WMUser(var msg:TMessage);Message WM_MYMESSAGE;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//编写响应自定义消息的代码
procedure TForm1.WMUser(var msg:TMessage);
begin
 ShowMessage('自定义消息。。。');
end;

{当自定义消息的工作完成后,可用PostMessage 函数或SendMessage 函数来发送自定义的Windows
消息,当然首先要获取目标窗口的句柄。例如,如果窗体(类名为TForm1,Caption 属性为“使用自
定义的Windows 消息”)有一个“消息”按钮(名为Button1),当单击“消息”按钮时要触发自定义
的Windows 消息WM_MYMESSAGE,可以为按钮的OnClick 事件编写代码如下:}

procedure TForm1.Button1Click(Sender: TObject);
var
 HWnd:THandle;
begin
 HWnd:=FindWindow('TForm1','使用自定义的windows消息');
 if HWnd<>0 then
   PostMessage(HWnd,WM_MYMESSAGE,0,0);
end;
end;

end.

分享到:
评论

相关推荐

    DELPHI自定义消息框(MessageBox)〖源码和透明背景图标资源〗

    标题"DELPHI自定义消息框(MessageBox)〖源码和透明背景图标资源〗"表明这个压缩包包含了一个实现了自定义消息框的Delphi项目,具有透明背景和自定义图标的特性。 描述中的"支持DEPHI7~XE5"意味着这个代码示例兼容从...

    delphi 自定义消息例子,不错的

    delphi 自定义消息例子,不错的 delphi 自定义消息例子,不错的 QQ16643506

    delphi 自定义消息窗口和进度条窗口,使用方便

    标题“delphi 自定义消息窗口和进度条窗口,使用方便”暗示了我们将探讨如何在Delphi中构建这类组件,以及如何实现它们的自动化关闭和自定义功能。 首先,自定义消息窗口通常用于向用户显示临时的通知或信息,而不...

    Delphi 自定义消息的使用

    本教程将详细解释如何在 Delphi 中创建和使用自定义消息。 首先,自定义消息是通过定义一个常量来开始的。在 Delphi 中,通常使用 `WM_USER` 作为起点,然后加上一个独特的数值来确保不会与系统或其他自定义消息...

    Delphi自定义控件开发

    ### Delphi自定义控件开发详解 #### 一、引言 在《Delphi控件开发浅入深出》一书中,作者强调了Delphi强大的可扩展性以及丰富的第三方控件支持,这对于开发者来说是非常重要的特性。特别是对于那些希望深入学习...

    Delphi自定义控件开发.pdf

    Delphi 自定义控件开发 Delphi 的高度可扩展性和大量的第三方控件支持使其具有悠久的生命力和广泛的应用前景。随着 Delphi 控件的开发和应用,开发者可以根据需要开发一些有一定难度的控件,从而提高自己的开发...

    Delphi自定义快捷键..rar

    本资源"Delphi自定义快捷键..rar"可能包含有关如何在Delphi中设置和管理自定义快捷键的教程、代码示例或配置文件。 在Delphi中,快捷键的自定义主要通过“Tools”菜单下的“Options”对话框进行。在“Options”...

    delphi自定义组件demo源码;delphi自定义控件demo;

    delphi自定义控件demo源码,本示例在D7下测试成功。 注册组件。 点击Componet-&gt;Install Componet进行自定义组件安装,此时将出现组件安装对话框。 在Unit FilName 中输入控件单元文件 的文件名(包括路径),...

    delphi 自定义窗口

    delphi 自定义窗口delphi 自定义窗口delphi 自定义窗口delphi 自定义窗口delphi 自定义窗口delphi 自定义窗口delphi 自定义窗口delphi 自定义窗口delphi 自定义窗口delphi 自定义窗口

    delphi自定义控件myDbComBobox

    在Delphi编程环境中,自定义控件是一种非常常见的实践,它允许开发者根据特定需求扩展标准控件的功能。本文将深入探讨“myDbComBobox”这个自定义控件,它是针对ComboBox控件的一个数据感知增强版本,特别适用于...

    delphi 自定义消息框Messagebox居中

    在Delphi编程环境中,自定义消息框(Messagebox)是一个常见的需求,特别是在需要提供与系统默认消息框不同的外观、功能或交互时。本篇将详细讲解如何实现自定义消息框并使其居中显示。 首先,我们需要理解Delphi中...

    delphi自定义控件菜单PopupMenu

    总结起来,创建Delphi自定义控件菜单,如dbPopupMenu和downbutton,需要对Delphi的组件模型有深入理解,熟悉VCL框架,并掌握如何处理事件和数据库交互。通过这样的实践,开发者不仅可以提升自己的编程技能,也能为...

    hook 自定义消息 (delphi 7)

    在`hook_demo`项目中,你可以找到一个完整的示例,展示了如何在Delphi 7中设置和使用自定义消息的Hook。这个项目可能包括以下几个部分: 1. 注册自定义消息:在程序启动时调用`RegisterWindowMessage`函数。 2. ...

    delphi 自定义公式计算

    本文将深入探讨如何在Delphi中实现自定义公式计算,主要涉及逆波兰表达式(也称为后缀表达式)及其在计算公式值中的应用。 首先,我们要理解什么是逆波兰表达式。逆波兰表达式是一种数学表达式的表示方式,它将操作...

    Delphi自定义Grid控件

    在Delphi编程环境中,开发自定义Grid控件是一项常见的任务,尤其对于那些希望对界面有更高定制需求的开发者来说。Grid控件是用于显示二维数据的常见组件,它提供了直观的方式来展示表格形式的信息。在本篇文章中,...

    Delphi 自定义控件设计过程

    详细讲解 Delphi 自定义控件 TDragTreeView 的设计过程,图文并茂,完整代码,完整记录思考过程。 TDragTreeView 具有的功能,节点的添加,移动,复制功能,使相关操作更简单。智能拖放节点,是用该控件后,无需编写...

    delphi用户自定义消息

    在Delphi编程环境中,用户自定义消息是一种强大的机制,它允许程序员扩展系统消息处理机制,以实现特定的交互或通信需求。本文将深入探讨Delphi中的用户自定义消息,包括其概念、创建方法、发送与接收,以及在实际...

    DELPHI MessageBox自定义消息框图标〖源代码〗

    ---- 由于直接使用此函数比较复杂,我们可以自定义一个函数来封装此函数,对它进行简化,在用法上尽量做到与Delphi的消息框相一致,自定义函数代码如下: function MessageEx (lText,lCaption:PChar; lStyle:DWord...

Global site tag (gtag.js) - Google Analytics