如何在主对话框中单击一个按钮后,将生成一个新的对话框并在此上的一个文本控件上画图??

ruixiang6 2007-04-25 01:36:25
我用MFC建立了一个基于对话框的程序,并在该类定义了一些成员变量和成员函数。
我在该对话框是放上一个按钮,想要单击此按钮后重新生成一个新的对话框,并且新的对话框上有一个静态文本控件,并根据原对话框中定义的一些变量和函数在新的对话框上的文本控件上画出图形。
不知在新的对话框类中如何使用前一个对话框类中的变量和函数?
谢谢!
我的主对话框类名是CDFTVCDlg,新生成的对话框类是CPic,文本控件ID是IDC_STATIC1

下面是定义在主对话框类中的一个画图函数,里面的变量都是主对话框类的成员变量。

void CDFTVCDlg::paintdft(double zz[], int M)
{
UpdateWindow();
CDC *pDC=GetDC();
CPen *pOldPen;
CPen NewPen(PS_SOLID,3,RGB(255,0,0));
pOldPen = pDC->SelectObject(&NewPen);


for(int i=0;i<M;i++)
{
int op;

pDC->MoveTo(20+i*(400/M),600);
op = 20+i*(400/M);

if(zz[i]<=10)
pDC->LineTo(op,600-zz[i]*50);
else if(zz[i]<=20)
pDC->LineTo(op,600-zz[i]*25);
else if(zz[i]<=40)
pDC->LineTo(op,600-zz[i]*12);
else
pDC->LineTo(op,600-zz[i]*6);

}

pDC->SelectObject(pOldPen);

ReleaseDC(pDC);

}


请问,我如何做才能在单击主对话框上的按钮后,将生成一个新的对话框,并在新对话框上的文本控件上依照我在主对话框类中定义的画图函数画出图形??
谢谢!

...全文
399 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjxhwx 2007-04-26
  • 打赏
  • 举报
回复
在新类里定义一个旧类的指针pParenDlg,就可以了访问了。
ruixiang6 2007-04-25
  • 打赏
  • 举报
回复
我在主对话框上的按钮单击程序如下,调试虽然通过,但运行后新对话框没有画出的钱,且一退出就发生错误。

CPic dlg;
dlg.DoModal();
CClientDC dc(&dlg);
dc.MoveTo(50,30);
dc.LineTo(200,200);
ruixiang6 2007-04-25
  • 打赏
  • 举报
回复
求助。
ruixiang6 2007-04-25
  • 打赏
  • 举报
回复
如何得到,怎样使用,希望您能说的详细一点。。
「已注销」 2007-04-25
  • 打赏
  • 举报
回复
得到生成对话框的HANDLE,然后然后传入这个HANDLE,就OK了
ruixiang6 2007-04-25
  • 打赏
  • 举报
回复
继续求助

19,464

社区成员

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

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