一个windows消息机制使用
2010-11-18 09:22
155 查看
最近一直搞那改版后的游戏启动界面,在主窗口加了个树形控件。设计了个CTree类继承于CTreeCtrl,再放了个树形控件对象m_treeCtrl作为主窗口类CServer的成员。
现在遇到的问题是,点击了树形控件的某个节点如何设置相应的数据到主界面的一个控件上。点击事件是在CTree类里响应的,但要调用CServer里的一个接口SetState(data)来设置相应数据。
刚开始一直想在设计模式上解决这问题,但一直苦思不得。后来转向windows机制那里思考,很快找到了解决方法。
在CTree加两个成员: CWnd *mp_Wnd; UINT m_msg;在CServer定义个宏WM_TREE_CLICK,然后在其BEGIN_MESSAGE_MAP与END_MESSAGE_MAP之间加入ON_MESSAGE(WM_TREE_CLICK,&CServer::SetState)。再在初始化树形控件的时候,设置其成员m_treeCtrl.mp_Wnd = this; m_treeCtrl.m_msg= WM_TREE_CLICK;最后在CTree里的鼠标点击事件里加入:mp_Wnd->SendMessage(m_msg),即可在CServer里的SetState()接口里响应。
每天一点点的新发现,心情舒畅。
现在遇到的问题是,点击了树形控件的某个节点如何设置相应的数据到主界面的一个控件上。点击事件是在CTree类里响应的,但要调用CServer里的一个接口SetState(data)来设置相应数据。
刚开始一直想在设计模式上解决这问题,但一直苦思不得。后来转向windows机制那里思考,很快找到了解决方法。
在CTree加两个成员: CWnd *mp_Wnd; UINT m_msg;在CServer定义个宏WM_TREE_CLICK,然后在其BEGIN_MESSAGE_MAP与END_MESSAGE_MAP之间加入ON_MESSAGE(WM_TREE_CLICK,&CServer::SetState)。再在初始化树形控件的时候,设置其成员m_treeCtrl.mp_Wnd = this; m_treeCtrl.m_msg= WM_TREE_CLICK;最后在CTree里的鼠标点击事件里加入:mp_Wnd->SendMessage(m_msg),即可在CServer里的SetState()接口里响应。
每天一点点的新发现,心情舒畅。
相关文章推荐
- 一个windows消息机制使用
- C# 使用 Windows 消息队列机制
- Windows消息机制的流程及PreTranslateMessage作用和使用方法
- C# 使用 Windows 消息队列机制
- 一个简单的Windows程序及消息循环机制
- C++的console使用windows的消息机制,定时器等
- 异常信息:CLR无法从COM 上下文0x645e18 转换为COM上下文0x645f88,这种状态已持续60秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows 消息的情况下处理一个运行时间非常长的操作.这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断累积
- 在ios5 中 使用通知机制(notification ) 来显示一个消息(banner 和 alert)
- Windows消息机制的流程及PreTranslateMessage作用和使用方法
- 移动矩形代码和一个非常重要的windows消息队列机制的坑
- Windows消息机制的流程及PreTranslateMessage作用和使用方法
- 关于在用异步消息处理机制使用Message.Obtain()方法(而非New Message)获得一个Message对象的好处
- C++的console使用windows的消息机制,定时器等
- Windows消息机制(4)(转载)
- Windows消息机制
- TensorFlow自带例子已经包含了android和ios下的摄像头图像分类示例Inception v1,这里补充一个Windows下的,使用AForge库(www.aforgenet.com)操作
- Windows消息机制3
- Windows的消息机制与消息重定向技术
- 同步机制及windows同步函数的使用
- python学习--python实现按键精灵之windows消息机制文章整理