我想实现一个简单图形(指的是圆,直线,矩形等)编辑系统,有经验的请指教一下:
实现的功能如下:
1、如何实现控件的拖放技术?举个例子来说,就像Flash里一样,左边是工具拦,先选定某个图形,比如说一个矩形,再然后在编辑区域(这个编辑区域怎么实现?)里,就可以用鼠标画个矩形;
2、双击上面刚画好的矩形,需要弹出一个对话框,可以对它的一些属性进行修改。这个又如何实现?我刚用vc来编程,但是,对上面这个东西一点思路也没有,不知道该如何入手,应该看一些什么样的书,都不知道,希望大家给我指点一下,非常感谢!!!
在线等待。
实现的功能如下:
1、如何实现控件的拖放技术?举个例子来说,就像Flash里一样,左边是工具拦,先选定某个图形,比如说一个矩形,再然后在编辑区域(这个编辑区域怎么实现?)里,就可以用鼠标画个矩形;
2、双击上面刚画好的矩形,需要弹出一个对话框,可以对它的一些属性进行修改。这个又如何实现?我刚用vc来编程,但是,对上面这个东西一点思路也没有,不知道该如何入手,应该看一些什么样的书,都不知道,希望大家给我指点一下,非常感谢!!!
在线等待。
解决方案 »
- PreCreateWindow与CreateWindow的使用比较
- 老问题了,但只要我的答案,先谢谢了
- 请教如何实现动态图形,象股票波形图那样的?
- 问一下类型定义的简单问题!
- 请教高手个关于 List Control 的问题,谢谢!
- CRichEditCtrl中设置自动换行以后把中文字符拆成两半怎么办?
- 请问16进制向10进制转换怎样转换|????大家有没有现成的函数????
- 多边形求面积的问题
- 我是南京的,那里可以买到<<深入浅出MFC>>?
- 谁知道哪里有sql server 或者vb的英文资料下载?thank you!
- CEit中失去焦点
- 关于触发VIEW类的OnDraw()函数的问题?????????????????????
借鑒一下開源吧
1、你说的拖放技术 这个其实实际做起来没有听起来这么玄乎的。在画图函数里设置几个标志 当选中圆时执行画圆算法 当选中线执行画线算法。IF() ELSE IF() ELSE就可以实现 或者SWITCH case。
2、比较关键的是怎么实现用鼠标画图形 这个其实也比较简单 选择画图模式为异或模式 pDC->SetROP2(R2_NOTXORPEN); 在画线的时候画两次就能顺利的用鼠标画出图形。在画的时候 当鼠标DOWN的时候设置标志,表示鼠标按下,然后mousemove里画图形 鼠标UP的时候标志取消。
3、当你双击图形的时候 弹出一个对话框 这个对话框里有它的属性的话就需要你在画图形的时候相应的把图形的属性用变量保存,然后在弹出对话框的时候实时把属性传给对话框。然后在你修改完属性的时候需要对图形所在rect进行刷新,使图形重绘 。需要的话可以给你个例子看看,前两步功能都有,第三步的只有一部分 。
设计模式第3.4章节刚好可以解决你这个问题。
关键在于,每个创建对象的工具是用不同的图像原型实例化。2、双击上面刚画好的矩形,需要弹出一个对话框,可以对它的一些属性进行修改。这个又如何实现?
可以参照JTDraw, codeguru上有下载
真正领会它的妙处吧。
1. 意图
将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容
而不能一起工作的那些类可以一起工作。//用他做一个绘图编辑器?如果你自己写可能用不着ADAPTER吧!