如何让基于对话框的mfc程序启动后自动隐藏对话框 vc⼀mfc ⼀ 界面

2025-01-06 18:08:33
推荐回答(1个)
回答1:

  1.定时器   最直观,又是最无奈的一个方法就是使用定时器。既然我们在对话框开始显示之前不能用ShowWin   dow(SW_HIDE)将其隐藏,那就给一个时间让它显示,完了我们在隐藏它。   方法:   1.在OnInitDialog()函数里设置定时器:(WINDOWS API里面响应消息WM_INITDIALOG)   SetTimer(1, 1, NULL);   2.添加处理WM_TIMER的消息处理函数OnTimer,添加代码:   if(nIDEvent == 1)   {   DeleteTimer(1);   ShowWindow(SW_HIDE);   }   这种方法的缺点是显而易见的,使用定时器,使得程序的稳定性似乎打一个折扣;窗口是要先显   示出来的,那么效果就是窗口闪了一下消失。   2.改变对话框显示状况   在对话框初始化时改变其显示属性可以让它隐藏起来。方法是调用SetWindowPlacement函数:   BOOL CDialogExDlg::OnInitDialog()   {   CDialog::OnInitDialog();   //DO something   WINDOWPLACEMENT wp;   wp.length=sizeof(WINDOWPLACEMENT);   wp.flags=WPF_RESTORETOMAXIMIZED;   wp.showCmd=SW_HIDE;   SetWindowPlacement(&wp);   return T...