CDialog和CDialogEx有什么区别?我决定使用CDialog,因为如果Dlg是从CDialogEx派生的,我就不能将m_pMainWnd分配给Dlg。
BOOL CPreparationApp::InitInstance()
{
MyClass2 Dlg; //derived from CDialog
m_pMainWnd = &Dlg;
Dlg.DoModal();
return TRUE;
}
我不喜欢使用像表单向导一样的CDialogEx提供什么样的问题?
如何分配从CDialogEx派生的m_pMainWnd变量?
答案 0 :(得分:5)
CDialogEX派生自CDialog,因此,将m_pMainWnd设置为CDialogEx派生对象应该不是问题。 CDialogEx提供了设置对话框背景颜色或图像的能力。
答案 1 :(得分:5)
CDialogEX用于设置背景颜色,对话框中的背景图像,如果要设置背景图像或颜色,那么您的类将从CDialogEX派生,但请记住如果您使用的是CDialaogEX,那么您应该使用该方法像CreateEX这样的类,如果你试图从CDilaogEX派生类并使用CDialog方法,那么你将得到错误..
答案 2 :(得分:0)
答案 3 :(得分:0)
CDialogEx创建背景菜单,按钮或它们称为对话框 如果在按下按钮时对按钮进行编程以提示窗口框架。要与窗口框架交互,您需要使用CDialog。
这是因为CDialog直接从CWnd继承。