我想根据一些计算的数据来在一个对话框中画图。有如下几个问题:
1.我想用switch语句来进行选择,根据一个变量n的不同,画图的数据都不同。这个变量n所在的对话框和画图的对话框不是一个,如何传递变量?
2.建立对话框后,OnPaint函数就自动创立了,那是不是不需要button来激发这个函数?
3.如果OnPaint不需要button激发的话,那如何才能完成如下的语句?就是不同的n,不同的画图结果。
switch(n)
{
case 0:
{
}
case 10:
{}
case 20:
{}
case 30:
{}
case 40:
{}
}OnPaintVC对话框
1.我想用switch语句来进行选择,根据一个变量n的不同,画图的数据都不同。这个变量n所在的对话框和画图的对话框不是一个,如何传递变量?
2.建立对话框后,OnPaint函数就自动创立了,那是不是不需要button来激发这个函数?
3.如果OnPaint不需要button激发的话,那如何才能完成如下的语句?就是不同的n,不同的画图结果。
switch(n)
{
case 0:
{
}
case 10:
{}
case 20:
{}
case 30:
{}
case 40:
{}
}OnPaintVC对话框
2、不需要,当界面需要更新时,会触发WM_PAINT消息
3、看看编译器生成的OnDraw或OnPaint函数
这个变量n我已经在其他的对话框中定义了,还需要在APP中再次定义一下?
2.这个我已经确定不需要激发了
3.可是我编写了几句switch的代码,不同的case中OnPaint的内容不同,但是运行的时候好像都还是一样的呀
void CTestDlgDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
n = 10;
Invalidate();
}
接下来程序会跑到OnPaint()里面并运行你的switch-case。
注:n定义成一个对话框类成员变量即可。
一是通过指针,而是在SendMessage的参数中设置