soui中控件的消息处理
来源:互联网 发布:进销存软件 服装辅料 编辑:程序博客网 时间:2024/06/05 14:42
在soui中,自定义的控件好像不能进行消息订阅,因此采用以下方式实现消息的响应。
1.首先在对话框窗口(从SHostDialog继承的)中自定义windows消息,在BEGIN_MSG_MAP_EX()和END_MSG_MAP()之间添加消息响应关联MESSAGE_RANGE_HANDLER_EX(USER_MSG_START, USER_MSG_END, OnUserMsg)
2.实现消息响应函数:LRESULT OnUserMsg(UINT uMsg, WPARAM wParam, LPARAM lParam);
LRESULT CxxDlg::OnUserMsg(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
SWindow *swndCur = (SWindow*)wParam;
return swndCur->SSendMessage(uMsg, wParam, lParam);
}
从此函数的实现可以看出消息被要发送的窗口处理。
3.在自定义控件中实现消息的处理,与系统消息处理的方式一样。
4.怎样发送消息:
使用windows api函数 PostMessage 和SendMessage函数进行消息的发送,例如:
::PostMessage(this->GetContainer()->GetHostHwnd(), UM_EVF_DATA_CHANGED, (WPARAM)this, (LPARAM)_bitmap);
这样就完成了自定义控件的自定义消息响应,但是还是有一些局限,不能在控件自己的类中完成,必须借助其所在的兑换框窗口中的函数实现。
- soui中控件的消息处理
- SOUI imgbtn控件的使用方法
- 对话框中控件的WM_KEYDOWN消息处理
- 对话框中控件的WM_KEYDOWN消息处理
- SOUI之DIY: 自定义控件和消息实现
- SOUI中事件中心的使用
- VC2008中处理CStatic控件的单击STN_CLICKED消息
- |如果控件中没有的消息处理那么可以这样
- duilib中CListUI控件消息处理的方法与技巧
- VC2008中处理CStatic控件的单击STN_CLICKED消息
- 很多控件的消息处理
- SOUI中使用SSendMessage
- SOUI 界面之tabctrl控件
- SOUI中快乐的使用32+64位编程
- MFC动态创建控件的消息处理
- MFC动态创建控件的消息处理
- 动态生成控件的消息处理
- MFC动态创建控件的消息处理
- Dex文件结构
- 网口扫盲二:Mac与Phy组成原理的简单分析
- MySQL server has gone away
- App——在线拖拽一键生成
- Objective-C 语法七(键值编码)
- soui中控件的消息处理
- C++ STL系列(二)Iterator
- GDAL分块处理简单的流程
- c语言<>和""的区别
- 密码学与算法
- SSD精解
- 精通正则表达式:开篇
- mac修改chrome的刷新及开发者工具等快捷键
- CSS 属性之 position讲解