非模式对话框的显示问题

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

非模式对话框就像PhotoShop里面的Toolbar,总显示在其父窗口上面。如何将非模式对话框显示在父窗口后面呢?

一种解决办法是:

建立非模式对话框时Create的第二个参数用GetDesktopWindow(),

m_pDlg->Create(IDD_,GetDesktopWindow());

如果需要恢复Toolbar的属性:

m_pDlg->SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

现在有出现了一个问题:系统的任务栏上出现了非模式对话框的图标,好像该对话框和父窗口是两个应用。解决的办法是:

1 定义对象 CWnd *m_pWnd,该对象的父窗口为GetDesktopWindow,设置该对象ShowWindow(SW_HIDE);

2 将非模式对话框的父窗口设置为m_pWnd。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航