××××××××××外行来这里请教一个问题××××××××××

Ranma_True 2003-10-21 01:49:35
visio或者是cad中的那种图形实体(就是那种可以拖动并且有很多属性的图形块,例如矩形、椭圆等等)是怎么实现的?结构应该如何设计?图层呢?
请大侠们讲讲原理或者具体的实现步骤或者是一些相关资料。
...全文
71 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ranma_True 2003-10-23
  • 打赏
  • 举报
回复
不仅仅是指针模拟之类的东东,每一个图形都是一个实体。
mfc168 2003-10-22
  • 打赏
  • 举报
回复
自己设计定义结构,比较复杂,一定是要分层的(CLayer),而在其上画图,可以将层作为一个对象,画图的直线(CLine),圆(CCircul)箭头等等,那些几何图形分别作为对象,相应图层提供DRAW的功能,而且要设计一个SELECTION集合,定义你当前选择的是哪个对象,并对该对象进行相关的操作,如:拖动、着色、风格设置、属性设置等等
bcpl 2003-10-22
  • 打赏
  • 举报
回复
可参考MSDN里的例子“DrawCli”
http://my.6to23.com/cigarette/drawcli.zip
beyondtkl 2003-10-22
  • 打赏
  • 举报
回复
乱马 呵呵 还是true的啊

我觉得是针对鼠标进行模拟。
yushulei 2003-10-22
  • 打赏
  • 举报
回复
包装成一个类了,或者用控件页行啊!
JetGeng 2003-10-22
  • 打赏
  • 举报
回复
在AutoCad中他使用一个图形数据库来存储各种数据包括图形对象,图成,标注等。如果你要用程序向当前图形加对象(如直线)时其实就是向这个数据库加一个对象记录。那后AutoCad主程序会根据需要在当前图中画出这一部分。在操作之前你必须要选中一个集合。它就是当前的操作集合。你的所有操作就是对这个集合进行的。以拖动为例选中后,这些对象(在内存中的对象)就会加到一个集合中,那后捕捉鼠标事件。这样的处理就和一般的拖动是一样的了。
你如果要从头开始实现的话,可以参考这他的对象结构模型。
Ranma_True 2003-10-21
  • 打赏
  • 举报
回复
最好不要用控件拼起来
bulesnow 2003-10-21
  • 打赏
  • 举报
回复
帮你up
bluebohe 2003-10-21
  • 打赏
  • 举报
回复
一点一点的实现
呵呵
比较费代码
flyingjust 2003-10-21
  • 打赏
  • 举报
回复
Ole 拖动
popyyb 2003-10-21
  • 打赏
  • 举报
回复
当然要有一个抽象基类啊,定义一些元素的公共操作与属性

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧