mfc 对话框指针问题
目的:1,有三个对话框,dlg1,dlg2,dlg3。(2和3都是非模态)2、dlg1上有个按钮B1,dlg2上有个按钮B2。3、按B1后弹出dlg2,按B2后弹出dlg...
目的:
1,有三个对话框,dlg1,dlg2,dlg3。(2和3都是非模态)
2、dlg1上有个按钮B1,dlg2上有个按钮B2。
3、按B1后弹出dlg2,按B2后弹出dlg3.B1和B2随后都EnableWindow(FALSE).
4、关掉dlg3后B2 EnableWindow(TRUE),关掉dlg2后B1 EnableWindow(TRUE)。
问题:
关掉dlg2后B1 EnableWindow(TRUE),我已经实现,使用AfxGetMainWnd获得dlg1后GetDlgItem获得b1的指针。
1、但怎样实现关掉dlg3后B2 EnableWindow(TRUE)?
2、是不是获得dlg2的指针就可以了?怎样才能获得dlg2的指针呢?
在dlg2中怎样用dlg1的指针?
Cdlg1 ptemp;
ptemp=new Cdlg1;
这样对吗?可ptemp不是指向dlg1的吧。 展开
1,有三个对话框,dlg1,dlg2,dlg3。(2和3都是非模态)
2、dlg1上有个按钮B1,dlg2上有个按钮B2。
3、按B1后弹出dlg2,按B2后弹出dlg3.B1和B2随后都EnableWindow(FALSE).
4、关掉dlg3后B2 EnableWindow(TRUE),关掉dlg2后B1 EnableWindow(TRUE)。
问题:
关掉dlg2后B1 EnableWindow(TRUE),我已经实现,使用AfxGetMainWnd获得dlg1后GetDlgItem获得b1的指针。
1、但怎样实现关掉dlg3后B2 EnableWindow(TRUE)?
2、是不是获得dlg2的指针就可以了?怎样才能获得dlg2的指针呢?
在dlg2中怎样用dlg1的指针?
Cdlg1 ptemp;
ptemp=new Cdlg1;
这样对吗?可ptemp不是指向dlg1的吧。 展开
2个回答
展开全部
都非模态了...
把dlg2和dlg3定义成dlg1的成员变量
然后在dlg2和dlg3中传入dlg1的指针...
然后,随便你弄了..想折腾dlg1就用pdlg1->xxx
随便你玩转了
--------------------------
Cdlg1 ptemp;
ptemp=new Cdlg1;
这样对吗?可ptemp不是指向dlg1的吧
在dlg2中,
Cdlg1 *ptemp; //定义成dlg1成员
在dlg1中
Cdlg1 *pdlg2; //定义成dlg1成员
然后pdlg2=new Cdlg2();
pdlg2->ptemp=this;
之后就随便你折腾了.ptemp指点向CDLG1..要用什么直接调用就好了
把dlg2和dlg3定义成dlg1的成员变量
然后在dlg2和dlg3中传入dlg1的指针...
然后,随便你弄了..想折腾dlg1就用pdlg1->xxx
随便你玩转了
--------------------------
Cdlg1 ptemp;
ptemp=new Cdlg1;
这样对吗?可ptemp不是指向dlg1的吧
在dlg2中,
Cdlg1 *ptemp; //定义成dlg1成员
在dlg1中
Cdlg1 *pdlg2; //定义成dlg1成员
然后pdlg2=new Cdlg2();
pdlg2->ptemp=this;
之后就随便你折腾了.ptemp指点向CDLG1..要用什么直接调用就好了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询