模态窗口与非模态窗口
小谈wince下模态窗口与非模态窗口
一:创建
非模态窗口的创建
Code
模态窗口的创建
Code
二:两者区别
其一:模式窗口被打开后就会始终保持输入焦点。除非窗口被关闭,否则用户无法切换到父窗口。
非模态窗口则可以讲焦点移到父窗口下。切换窗口可以用Show(False)
其二:从上面可以看出非模态窗口必须要new
其三:关闭窗口的方法不同
非模态窗口要用CWnd::DestroyWindow
模态窗口要用CDialog::EndDialog
因为非模态窗口是new出来的 所以最后一定要delete。虽然DestroyWindow(),但实际上窗口实例并未被析构。
三:注意
Create(0,0,400,600,m_hWnd, 0, 0);
中的m_hWnd是父窗口的句柄。在five窗口也就是子窗口中可以用GetParent()来获得其父窗口的句柄
小谈wince下模态窗口与非模态窗口