mfc 在弹出的对话框中设置参数后,怎么利用参数再重新绘图
mfc 在弹出的对话框中设置参数后,怎么利用参数再重新绘图。目前在用MFC调用openGL绘制几个图形。大致功能是这样的
MFC使用单文档的形式,在菜单栏中设置了几个绘图的选项,
然后点击这几个选项,弹出一个对话框设置参数,然后确定并绘图。
但是,在最后一步不太明白,在对话框中设置的参数怎么在主界面中被利用
,然后使用onDraw绘图?我需要在点击对话框的“确定”按钮时发出WM_PAINT消息吗?
提供一个想法:
1. 参数可以写入全局变量,这样所有界面都可以访问;
2. 点击参数对话框的【确定】后,可以发送一个消息到主界面,然后主界面刷新绘图控件。 本帖最后由 spy2008 于 2016-4-24 16:48 编辑
Dialog的控件可以映射成成员变量,view或者FRAME中得到后使用就是了。简单图形绘制用不着OpneGL, VIEW中自绘就行。 落叶知秋 发表于 2016-4-24 16:34
提供一个想法:
1. 参数可以写入全局变量,这样所有界面都可以访问;
2. 点击参数对话框的【确定】后,可以 ...
就是不知道该发什么消息,和怎么接收。 如果初学mfc,建议赶快转其他的。 usecool 发表于 2016-4-24 17:27
如果初学mfc,建议赶快转其他的。
强烈赞成! usecool 发表于 2016-4-24 17:27
如果初学mfc,建议赶快转其他的。
MFC是坑吗? usecool 发表于 2016-4-24 17:27
如果初学mfc,建议赶快转其他的。
现在学用那个?一直VC6,也想试下有前途的 john78 发表于 2016-4-25 06:35
现在学用那个?一直VC6,也想试下有前途的
也不是在学,只是想用下界面而已,网上看了下。QT还不错吧。 经过半天的奋战,终于有了结果。 大致上就是一个发消息,收消息的过程,消息可以自己定义的。之前一直是在对话框中取父窗口的句柄,结果一直是错的!对话框的父窗口句柄根本不是那个。最后改了一下就好了。 调用Cview类的Invalidate() 让其重绘.本质还是发送了PAINT消息. 按钮事件里面:
if(DoModal() == IDOK)
{
用你的新参数重新 render 场景
Invalidate();
}
OnPaint 里面
将 buffer 里的数据重新贴图到 DC 即可。 mangocity 发表于 2016-4-25 09:00
按钮事件里面:
if(DoModal() == IDOK)
{
谢谢,学习了 john78 发表于 2016-4-25 06:35
现在学用那个?一直VC6,也想试下有前途的
看需求了,如果是win平台的话,C#之类的都可以,其实java还是最火的。如果考虑跨平台QT算是当前最合适的选择了 ztlaputa 发表于 2016-4-25 01:53
MFC是坑吗?
MFC是坑,因为微软自己都不主推的。 ztlaputa 发表于 2016-4-25 08:28
也不是在学,只是想用下界面而已,网上看了下。QT还不错吧。
如果非要c语法而且不装运行库,请用c++builder,分分钟上手。
页:
[1]