Delphi 使用自定义消息
1、先用Const 定义一个常量,例如 const WM_MyMessage=WM_USER+$200;
2、在要实现的unit中定义一个私有方法
procedure doMyMessage(var msg:TMessage);message WM_MyMessage;
3、实现这个私有方法
procedure TForm1.doMyMessage(var msg:TMessage);
begin
//
if msg.Msg= WM_MyMessage then
showmessage('好啊')
else
showmessage('不好');
end;
4、最重要 把这个消息广播出去 Form1.Perform(WM_MyMessage,0,0);
下面是实现的代码
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
const WM_MyMessage=WM_USER+$200;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure doMyMessage(var msg:TMessage);message WM_MyMessage;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.doMyMessage(var msg:TMessage);
begin
//
if msg.Msg= WM_MyMessage then
showmessage('好啊')
else
showmessage('不好');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Perform(WM_MyMessage,0,0);
end;
end.
Delphi 使用自定义消息的更多相关文章
- DELPHI中自定义消息的发送和接收
DELPHI中的消息处理机制 Delphi是Borland公司提供的一种全新的WINDOWS编程开发工具.由于它采用了具有弹性的和可重用的面向对象Pascal(object-orientedpasca ...
- Delphi Inputbox,InputQuery用法
Delphi :InputQuery,InputBox用法及区别 function InputQuery(const ACaption, APrompt: string; var Value: str ...
- delphi 自定义消息
delphi 自定义消息 消息描述 Tmsg是 Windows系统用来记录描述一个具体的windows消息的.就是windows 用于封装应用程序及系统程序发生的消息,它是操作系统使用 ...
- Delphi自定义消息应用及delphi托盘实现
Delphi自定义消息应用及delphi托盘实现interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Co ...
- 利用消息机制实现VC与Delphi之间的通讯(发送自定义消息)
摘要: 本文介绍了使用Windows消息机制实现由不同语言编制的程序之间的相互通讯.联系,并以当前较为流行的两种语言Microsoft Visual C++ 6.0和Borland delphi 5. ...
- Delphi Berlin 10.1.2 FMX用TMessageManager处理自定义消息
看FMX代码,发现有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法. 早前,看过文章说TMessageManage ...
- Delphi 关键字详解[整理于 "橙子" 的帖子]
absolute //它使得你能够创建一个新变量, 并且该变量的起始地址与另一个变量相同. var Str: ]; StrLen: Byte absolute Str; //这个声明指定了变量 ...
- Delphi常用关键字用法详解
本文详细介绍了Delphi中常用的各个关键字名称及用法,供大家在编程过程中借鉴参考之用.详情如下: absolute: ? 1 2 3 4 5 6 7 8 9 10 //它使得你能够创建一个新变量, ...
- delphi如何让程序最小化到任务栏(转)
现在很多的应用程序都有这样一种功能,当用户选择最小化窗口时,窗口不是象平常那样最小化到任务栏上,而是“最小化”成一个任务栏图标.象FoxMail 3.0 NetVampire 3.0等都提供了这样的功 ...
随机推荐
- MYSQL 体系结构图 log commit
- 关于 java.util.concurrent 您不知道的 5 件事--转
第 1 部分 http://www.ibm.com/developerworks/cn/java/j-5things4.html Concurrent Collections 是 Java™ 5 的巨 ...
- Android Studio下打jar包
在我们使用Eclipse时,我们常常使用的第三方类库文件大多都是jar包形式,用起来很方便.但是jar包只能打包class文件,对于Android UI类库而言,我们常常需要打包资源文件,对于界面不多 ...
- Linux read/write fread/fwrite两者区别
Linux read/write fread/fwrite两者区别 1,fread是带缓冲的,read不带缓冲. 2,fopen是标准c里定义的,open是POSIX中定义的. 3,fread可以读一 ...
- 【分享】w32service table XPsp2
Ord Address fnAddr Symbols-------------------------------- [ 0] BF999280: BF93569A (win32k!Nt ...
- oracle 关于动态执行语句 execute immediate 的用法
当在开发的应用场景中 数据库处理复杂业务逻辑里用到 SQL 语句拼接 可以用 execute immediate 来执行语 举个例子 insert into tb_temp_public( ...
- CSS实现背景透明而背景上的文字不透明完美解决
在我们设计制作一些网页的时候可能会用到半透明的效果,首先我们可能会想到用PNG图片处理,当然这是一个不错的办法,唯一的兼容性问题就是ie6 下的BUG,但这也不困难,加上一段js处理就行了.但假如我们 ...
- JavasScript基数排序
基数排序 91, 46, 85, 15, 92, 35, 31, 22经过基数排序第一次扫描之后, 数字被分配到如下盒子中:Bin 0:Bin 1: 91, 31Bin 2: 92, 22Bin ...
- Android中两种设置全屏或者无标题的方法
在开发中我们经常需要把我们的应用设置为全屏或者不想要title, 这里是有两种方法的,一种是在代码中设置,另一种方法是在配置文件里改: 一.在代码中设置: package jason.tutor; i ...
- Apache下PHP的几种工作方式
PHP在Apache中一共有三种工作方式:CGI模式.Apache模块DLL.FastCGI模式. 一.CGI模式 PHP 在 Apache 2中的 CGI模式.编辑Apache 配置文件httpd. ...