C++Builder如何響應消息及自定義消息
来源:互联网 发布:im域名稳定吗 编辑:程序博客网 时间:2024/05/22 02:30
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
對於系統已定義的消息,可以直接響應:
#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如何響應消息及自定義消息
- C++Builder如何响应消息及自定义消息
- C++Builder中如何应用消息(转)
- C++Builder消息运用
- C++Builder 自定义消息 处理
- C++builder 消息的运用
- 【整理】Windows 定时器 与自定消息
- C++Builder 自定义消息 处理 总结
- Delphi和C++builder中的MessageBox及相近的四种消息框
- C++ Builder中消息处理过程及应用
- C++ Builder中消息处理过程及应用
- [C++] BC++ Builder 非可视组件的消息处理技巧
- C++BUILDER非可视组件的消息处理
- C++Builder非可视组件的消息处理技巧
- c++builder中添加和响应自定义消息
- C++Builder DLL线程里 给主窗体发消息
- C++Builder 使用TWndMethod方法重写控件消息
- 消息及消息队列
- 天下无贼是假的,天下无票倒是真的;如来神掌是假功夫,能买到车票才是真功夫。
- 存储过程编写经验和优化措施
- 动态链结函式库(DLL-Dynamic Linked Library)
- Linux后门技术及实践
- windows2003安装webeasymail注意事项
- C++Builder如何響應消息及自定義消息
- 一些不良的管理思维习惯!!!
- 常用网络命令(备忘使用)
- 如何编写一个自动投票程序
- Font应用
- 建站公告
- DLL地狱及其解决方案(之所以用COM接口)
- NHibernate解决了一个问题
- rs对象的方法