MFC 模态对话框

Frame 消息:

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
    ON_WM_CREATE()
    ON_COMMAND(ID_DIALOG_EXEC, &CMainFrame::OnDialogExec)
    ON_COMMAND(ID_DIALOG_SHOW, &CMainFrame::OnDialogShow)
    ON_COMMAND(ID_DIALOG_32773, &CMainFrame::OnDialog32773)
END_MESSAGE_MAP()

头文件:

private:
    CDialog dlg;

OnCreate:

    dlg.Create(IDD_DIALOG2); // dlg  Create

ON_COMMAND:

// 模态对话框
void CMainFrame::OnDialogExec()
{
    // 创建对话框
    CDialog dlg_(IDD_DIALOG1);
    // 运行
    dlg_.DoModal(); // 阻塞
}

// 非模态对话框
void CMainFrame::OnDialogShow()
{
    //CDialog dlg; // 用成员变量,不然释放掉
    //dlg.Create(IDD_DIALOG2); // 只能创建一次,所以放在在Oncreate里面去
    dlg.ShowWindow(SW_SHOWNORMAL);
}


void CMainFrame::OnDialog32773()
{
    // 在此添加命令处理程序代码
    MyDialog my_dlg;
    my_dlg.DoModal();
}

▲ 添加 MFC 类


posted @   double64  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示