读书人

欢迎大家进来讨论解决方案

发布时间: 2012-02-27 10:00:22 作者: rapoo

欢迎大家进来讨论
最近做的一个三维编辑软件,
CEntity基类, 派生出各种所要绘制的物体。
CLine,CCircle,CRetangle,CBox。。。
(由CLine派生出)CPolyLine,CBezierLine,CBSplineLine等。。。

各种Entity都要有鼠标响应函数实现一些交互,比如移动控制顶点等。
消息响应函数有:OnLButtonDown,OnLButtonUp,OnMouseMove,OnRButtonDown等。

最常见的思路就是将这些消息响应函数作为CEntity的纯虚函数,然后在派生类中具体实现。
不知有没有更好的解决方案,我一直在想能不能将消息响应函数单独作为一个类,一下子没有思路。
请不吝赐教!

[解决办法]
up一下!
CEntity是派生自CCmdTarget么?
[解决办法]
1. MFC的回调函数机制。
2. QT的消息处理机制:signal slot。上网搜一下吧。推荐使用这种。

[解决办法]

探讨
引用:
up一下!
CEntity是派生自CCmdTarget么?
没,CEntity就是基类,呵呵

[解决办法]
写一个Message基类,在这个基础上派生,以实现不同类型的消息映射。
建议楼主参考一下具体的设计模式。
[解决办法]
探讨
引用:
引用:
up一下!
CEntity是派生自CCmdTarget么?
没,CEntity就是基类,呵呵

应该从CCmdTarget继承下来吧,不然自己怎么实现消息机制?

读书人网 >C++

热点推荐