C++Builder如何响应消息及自定义消息
C++Builder如何响应消息及自定义消息
Inprise(Borland) C++Builder中,可以象在Delphi中一样响应消息,只是看起来要稍
复杂一点。
对于系统已定义的消息,可以直接响应:
#define WM_MY_OPEN_CMDLINE_FILE (WM_USER+1) //进程间通讯的自定义消息
#define WM_MY_SEARCH_NODE (WM_USER+2) //查找命令的自定义消息
class TSomeForm : public TForm
{
//...类中的其它代码
protected:
//消息的响应过程
void __fastcall OpenCmdLineFile(TMessage Message);
void __fastcall SearchDocumentNode(TMessage Message);
void __fastcall GetWindowMinMaxInfo(TWMGetMinMaxInfo Message);
//以下通过宏定义实现消息的正确响应
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_MY_OPEN_CMDLINE_FILE, TMessage, OpenCmdLineFile)
MESSAGE_HANDLER(WM_MY_SEARCH_NODE, TMessage, SearchDocumentNode)
MESSAGE_HANDLER(WM_GETMINMAXINFO , TWMGetMinMaxInfo, GetWindowMinMaxInfo)
END_MESSAGE_MAP(TForm)
};//end class
//以下为实现代码
void __fastcall TSomeForm::OpenCmdLineFile(TMessage Message)
{//直接通过消息结构传递参数
LPSTR lpCmdLine=(LPSTR)Message.LParam;//从Message中取得参数
this->HandleCmdLineFile(lpCmdLine);//处理命令行的参数
return;
}
void __fastcall TSomeForm::SearchDocumentNode(TMessage Message)
{//响应查找消息
//Message中的参数在此处不需要。
this->SearchNode();
return;
}
void __fastcall TSomeForm::GetWindowMinMaxInfo(TWMGetMinMaxInfo Message)
{//设置主窗口的最小尺寸
MINMAXINFO *MinMaxInfo=Message.MinMaxInfo;
MinMaxInfo->ptMinTrackSize.x=400;
MinMaxInfo->ptMinTrackSize.y=300;
return;
}
其中:TMessage和TWMGetMinMaxInfo类型的定义可参见:C:
\ProgramFiles\Borland\CBuilder\inlucde\vcl\Messages.hpp;其它的消息响应方法与此
相同。
另外,可以为自定义的消息也定义一个对应的消息结构(如:TSearchNode_Message),
至于如何定义消息结构, 可以参考:C:\Program
Files\Borland\CBuilder\inlucde\vcl\Messages.hpp
C++Builder如何响应消息及自定义消息相关推荐
- 学习 Message(4): 通过 Application.OnMessage 或 TApplicationEvents 响应消息
通过 Application.OnMessage 响应消息: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classe ...
- HTTP协议 ----响应消息
HTTP协议 1. 请求消息:客户端发送给服务器端的数据 * 数据格式: 1. 请求行 2. 请求头 3. 请求空行 4. 请求体 2. ...
- MFC中如何让一个CStatic控件响应消息
在MFC中有时需要自己Create控件,如何写一个可以响应消息的控件呢,例如:CStatic 如下: CStatic test; test.Create("my static", ...
- HTTP_响应消息_响应行_状态码
2. 响应消息:服务器端发送给客户端的数据 * 数据格式: 1. 响应行 1. 组成:协议/版本 响应状态码 状态码描述 2. ...
- HTTP协议简介_请求消息/请求数据包/请求报文_响应消息/响应数据包/响应报文
文章目录 HTTP 介绍 请求数据包/请求消息/请求报文 请求数据包解析 响应数据包/响应消息/响应报文 HTTP 介绍 概念:Hyper Text Transfer Protocol 超文本传输协议 ...
- http请求消息体和响应消息体
HTTP基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式.HTTP允许传输任意类型的数据对象,HTTP协议是无状态协议.无状态是指协议对于事务处理没有记忆能力.缺少状态意味着如果后 ...
- 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装...
微信服务器和第三方服务器之间究竟是通过什么方式进行对话的? 下面,我们先看下图: 其实我们可以简单的理解: (1)首先,用户向微信服务器发送消息: (2)微信服务器接收到用户的消息处理之后,通过开发者 ...
- HTTP请求消息头和HTTP响应消息头
2019独角兽企业重金招聘Python工程师标准>>> HTTP请求消息头部实例: Host:rss.sina.com.cn //客户端指定自己想访问的WEB服务器的域名/IP 地址 ...
- cjuiautocomplete ajax,Yii CJuiAutoComplete小部件:空响应消息事件
如果响应不包含关于城市的数据,我希望看到输出消息.另外,我想改变文本字段中的文本时,我得到一个空的答复.Yii CJuiAutoComplete小部件:空响应消息事件 我有: 检视: $this-&g ...
最新文章
- 世界各大天文台联合预警:今晚公布“引力波重要发现”
- python订单管理系统功能_订单管理系统有哪些功能?
- js中期BOM及this指向
- python numba库是什么,如何给python代码加速?JIT、autoit、LLVM
- 单片机定时报警C语言程序,51单片机 定时器 中断程序 (C语言)
- position定位说明
- AGC034 F - RNG and XOR
- Java基础知识复习(二)
- Round Numbers POJ - 3252(数位dp+判断前导零)
- python模糊匹配忽略大小写_在python中忽略大小写的简单方法?
- 【三维深度学习】点云上采样网络PU-Net
- 【Windows】关于shift和空格同时按无反应的解决方案
- 人是中国开源产业发展的战略制高点
- 乌班图vim怎么编译c语言,在Ubuntu上利用vim进行程序编写及运行
- STM32入门100步
- edp接口规范_EDP接口是什么接口?EDP是什么的缩写?
- Shiro反序列化漏洞检测及修复(工具分享)
- 微信小程序直接上传文件到阿里云OSS组件封装
- Pygame 实现一个简单画图板
- python文件开头# coding=gbk的用途
热门文章
- 学习笔记-记ActiveMQ学习摘录与心得(一)
- 记录 FreeBSD
- hdu 5277(最大团问题)
- POJ 1505(二分+贪心)
- 算法入门开灯问题,新做法
- Graph Neural Networks: A Review of Methods and Applications(Semantic Segmentation应用解读)
- CSS之box-shadow
- hdu 1228-A+B
- 第二章 Vue快速入门-- 28 自定义按键修饰符
- spring源码阅读(3)-- 容器启动之BeanFactoryPostProcessor