怎么让无模式对话框显示在主窗口后面

来源:清泛编译     2016-05-23 13:43:54    人气:     我有话说( 0 人参与)

1.属性页的添加:创建对话框的类,该类要从CpropertyPage继承;然后在要添加该对话框为 属性页的类(头文件)里创建CpropertySheet类的一

73. 怎么让无模式对话框显示在主窗口后面
要解决这个问题的关键在于CDialog的Create并不能建立一个无属主的窗口.必须用另外方式建窗口.  
  
 比如你的对话框类叫CDlgNoOwner,在CMainFrame中加一个CDlgNoOwner类的成员变量,  
 弹出这个对话框的消息处理函数为  
  
 void  CMainFrame::OnNoowner()   
 {  
CDlgNoOwner  *m_dlgTest=new  CDlgNoOwner(this); 
 HWND  hwndDlg=::CreateDialog(AfxGetInstanceHandle(),MAKEINTRESOURCE(CDlgNoOwner::IDD),NULL/*owner*/,NULL/*dlgproc*/);  
 //注意此处DLGPROC为NULL,并不要紧,因为接下要subclass啦  
 m_dlgTest->SubclassWindow  (hwndDlg);//挂接到成员变量!  
 m_dlgTest->ShowWindow  (SW_SHOW);  
 //这时可以看到一个"自由"的对话框弹出,和你的主窗口是平起平坐的.  
 }  
  
 当然不要忘了在对话框关闭时DestroyWindow()..那都是在对话框类中的标准处理了.
本文导航

MFC 总结 技巧

本文源自互联网,采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可,
版权归原作者,如有问题请联系service@tsingfun.com (编辑:admin)
分享到: