33,311
社区成员
发帖
与我相关
我的任务
分享
下面这段是按钮激活一个非模式窗口的代码
执行有问题的 方法1
void CtestDlg::OnBnClickedButton2()
{
CDialog *mtop1 = new CDialog;
mtop1->Create(IDD_LoginDLg,0);
mtop1->ShowWindow(SW_SHOW);
执行正确的 方法2
void CtestDlg::OnBnClickedButton2()
{
m_TopDlg *mtop1 = new m_TopDlg;
mtop1->Create(IDD_LoginDLg,0);
mtop1->ShowWindow(SW_SHOW);
新建立的对话框
void m_TopDlg::OnBnClickedButton1()
{
::MessageBoxA(m_hWnd,"模式窗口","提示",MB_OK);
// TODO: 在此添加控件通知处理程序代码
}
这两段代码区别在于申请指针的时候一个用的我创建的对话框的类m_TopDlg ,一个用的是CDialog
出现的不同:
如果用方法1 新建立的对话框上面按钮无法激活提示MessageBoxA的提示.点击无反应
如果用方法2 新建立的对话框的按钮代码正确别执行.出现了提示对话框
虽然执行正确了.我也是乱碰上的.不理解 m_TopDlg 和 CDialog 注册的变量调用结果为什么不同.CDialog 的Create也关联了新建立对话框的ID.
新手求解.首次发帖多关照