BCB如何响应消息及自定义事件

BCB如何响应消息及自定义事件,第1张

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)MessageLParam;//从Message中取得参数
this-$#@62;HandleCmdLineFile(lpCmdLine);//处理命令行的参数return;}void __fastcall TSomeForm::SearchDocumentNode(TMessage Message)
{//响应查找消息
//Message中的参数在此处不需要。
this-$#@62;SearchNode();return;}void __fastcall TSomeForm::GetWindowMinMaxInfo(TWMGetMinMaxInfo Message){//设置主窗口的最小尺寸
MINMAXINFO MinMaxInfo=MessageMinMaxInfo;
MinMaxInfo-$#@62;ptMinTrackSizex=400;
MinMaxInfo-$#@62;ptMinTrackSizey=300;return;}其中:TMessage和TWMGetMinMaxInfo类型的定义可参见:
C:\Program Files\Borland\CBuilder\inlucde\vcl\Messageshpp;其它的消息响应方法与此相同。

以上就是关于BCB如何响应消息及自定义事件全部的内容,包括:BCB如何响应消息及自定义事件、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10640216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存