请教关于vc对话框初始化的问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:18:33
我先设计了一个对话框窗体,然后在两个按钮中分别调用这个窗体的模态对话框,但是希望能够不同的初始化。这应该如何实现,希望大侠指点。
比如,我给那个对话框窗体声明了个类,类中有函数OnInitDialog()对对话框进行初始化,另外还有一个自定义函数Show()进行自定义的设置。然后我在两个按钮中分别调用这个窗体,一个对窗体只需要OnInitDialog()的初始化就行,另一个则还需要我自定义的那个函数Show()的设置。请问应该如何实现。
对vc了解不深,望大家帮忙。问题答得好的话,我会再加分。谢谢大家。
奶茶dsk的方法我试过了,好像不行。
哦,我想应该是和“ 80676535”说的一样,那个Show()函数涉及到对界面的更新或者得到界面的数据,那应该如何在DoModal()后调用呢?DoModal()完后那个窗体变量不是已经结束了吗?还请指教。谢谢。

只要在每个要调用的窗体对应类的初始化函数中对本对话框的窗体进行初始化就可以了
然后在按钮事件中调
CDa dlg;
dlg.DoModal(); 不明白就给我发信息 Hi一下

如果可以的话 给我发过来看看

你可以这样做,重构造对话框函数向里面传参数,然后在初始化中根据传进的参数判断是否要进行其它设置,把show函数写到要调的对话框中去
比方说
CDa dlg(1);//1表示初始化,0不初始化
dlg.DoModal()

当然 结束了 所以 要你 把它写到要调的对话框中去,那样在初始化中判断构造时传进来的参数来决定是不是要调show函数

最简单的方法,设置一个全局变量f,当button1的时候设置f为true,button2的时候设置f为false,然后在初始化的时候
if(f)
按照button1的方式初始化
else
按照button1的方式初始化
上面是一种方法,如果不想设置全局变量,那就重载构造函数吧

定义2个窗体的对象作为本类的数据成语,在2个按钮的响应函数中分别用2个对象来设置窗体的属性,如大小,位置,以及子控件的值,然后DoModal就ok了!
还是这样说:
button1:
dlg1.DoModal();

button2:
dlg2.Show();//Show设置为public成员函数!
dlg2.DoModal();
怎么会不行,Show函数设置值后UpdateData(FALSE);了没有?

服了楼主了,,悄悄我走了,正如我悄悄的来,顺便带走所有云彩!

把你设计的对话框类给重载了。

然后加入一个BOOL的参数。。

你的两个按钮内。一个给构造函数传递TRUE一个传递FLASE。

在你设计的对话框的初始化函数内。

对这个传递进来的参数判断。

是TRUE就仅执行Show函数。否则不执行。。

这样就