注册 登录
编程论坛 VC++/MFC

求助:如何在对话框上画图?

beyoung 发布于 2006-08-22 10:00, 4029 次点击
如何在对话框上画图?是在哪个控件中实现的呢?
10 回复
#2
beyoung2006-08-22 10:54
我会了。
在OnPaint()函数中,
dc.moveto...
dc.lineto...
#3
myajax952006-08-22 11:21
画复杂的图可以使用一些别人作好的library。我的这个项目用的library叫Object Chart,应该在网上可以找到,不知是否有免费版。
只有本站会员才能查看附件,请 登录

#4
beyoung2006-08-22 16:49
找不到免费的
总之谢谢。
#5
juzi40032006-08-22 20:18

请问:
你画图的那个区域是怎么做的啊?用没用控件?我现在也要做一个那样的,而且还要把点的位置显示在一个listcontrol控件里,这该怎么做呢?
谢谢指教!

#6
myajax952006-08-22 23:17
画图的区域的最基本类型是CStatic。
#7
myajax952006-08-23 04:13
把点的位置显示出来需先抓点的信息,例如是鼠标Click的点还是double click的点还是把鼠标放在一个点上一段时间的点。分别用OnClick,OnDbClick,OnMouseOver等等,然后就是算清楚了。我的这个application的list不显示点,用户选中list的一行图上的对应曲线会被highlight。把鼠标放在一个点上会出tooltip来显示点的信息。
#8
juzi40032006-08-23 08:39
谢谢!
谢谢啊!
不过,我还有问题,我想让点以坐标的形式显示出来,比如:X ......,Y......,Z.......,
再一个是,怎么把对话框里加入的控件组织成一个整体?并且让它能够随着对话框的大小改变而改变呢?
我刚开始做,有很多不会的,请多指教啊!
#9
myajax952006-08-23 09:35
以下是引用juzi4003在2006-8-23 8:39:39的发言:
谢谢啊!
不过,我还有问题,我想让点以坐标的形式显示出来,比如:X ......,Y......,Z.......,
再一个是,怎么把对话框里加入的控件组织成一个整体?并且让它能够随着对话框的大小改变而改变呢?
我刚开始做,有很多不会的,请多指教啊!

刚开始作这个可能有点难。如果一定要用对话框的话你可以去codeproject.com里面查一个叫Resizeable library的class。
http://www.codeproject.com/dialog/resizablelib.asp?df=100&forumid=2253&exp=0&select=1289408
从这个CResizableDialog继承下来的Dialog可以使里面的控件随着Dialog的变化跟着变大或变小。当然你也可以自己写,主要就是管理OnSize命令。
例如你在一个CStatic里面画图(不知道CStatic具体响应多少信息),收到WM_SIZE之后就要重画。根据新的大小。

显示XYZ可以用现成的library,如果没有就自己画了,在OnPaint里面画。

#10
juzi40032006-08-23 15:53
请问
谢谢你啊!
我再碰见问题再请教你吧。
#11
pqiankun2012-12-10 18:44
这个帖子好长时间了啊,不知道楼主还在吗?楼主做的那个界面好厉害呀,我的任务也是做成那样一个界面,就是在成图那块卡住了,我建立的是对话框,不知道在哪里成图啊,所谓的CStatic怎么用? 还有那些所谓的现有的Object Chart,Resizeable library在哪里下
1