我建了一个dialog,在app类的InitInstance里想添加一个函数,想让他在dialog完全展现之后自动执行。在这期间,dialog上的确定按钮不可点,在那个函数返回一个true时,按钮才可点。
我把函数的代码放在了dialog生成的那三句代码后,但没有执行,求帮助
CZHLaunchDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();//版本检测,更新资源    但这个函数没有执行
while (dlg.checkupState)
{
dlg.DrawCheck();
}dialogbutton

解决方案 »

  1.   

    为什么不在对话框的OnInitDialog中检测函数的返回值,然后根据checkupState返回值决定【确定】按钮是否恢复可用(初始为禁用)。估计你的函数需要花费点时间吧(也就是说会导致界面假死?如果是这样的话可以放进线程中执行,执行完毕后给主对话框发送一个消息,在消息处理函数中使按钮可用)
      

  2.   

    对,这个函数要执行挺长时间,就像玩游戏时先进行的版本检测,甚至下载大量文件,所以我希望是当这个dialog展现出来后再执行这个函数,因为还有一些界面上的进度条,文字显示。
    你说的开一个线程,在哪去开?
      

  3.   

    另外,如何在dialog界面上显示一个网页,就是划出一个矩形区域,用于显示某个网页
      

  4.   

    dlg.DoModal(); 
    根据你的完全加载。。来显示界面。。或者进度条显示loading
      

  5.   

    我在INT_PTR nResponse = dlg.DoModal();前面加了一个线程,通过延时3秒来执行DrawCheck(),
    但是用线程传进去的dlg对象,不能GetDlgItem(),会弹错,除了操作文字跟进度条的功能,其他的都逻辑代码都可以执行。
    怎么破啊另外,dialog背景图怎么放成带通道值得png格式,我想让图有透明的地方
      

  6.   

    dialog背景图最好放在BMP图片,这样使用。。
    背景PNG的话,你的做两层,因为控件不能正常显示。,。