5.函数OnInitDialog中修改Exit对话框不可用添加处理事件用

当应用程序关闭时,将发送一条 WM_CLOSE 消息,程序将相应结束。您可以在类向导中添加消息处理程序。

void CMFCTest1Dlg::OnClose()
{
    // TODO:  在此添加消息处理程序代码和/或调用默认值
    if (MessageBox(_T("确定退出吗"),_T("提示"),MB_YESNO|MB_ICONWARNING)==IDNO)
    {
        return;
    }
    CDialogEx::OnClose();
}

5.应用程序由winmain定义、初始化、启动、注册、创建、显示窗口、消息响应、程序终止、运行周期结束

三、对话框类 afx_msg 宏

afx_msg 宏没有语法意义。 afx_msg 宏指示声明是一个消息响应函数。数据交换函数

OnInitDialog函数,用于存储各种控件的变量信息

用于初始化对话框OnSysCommand系统命令响应函数,默认处理窗口最小化和最大化命令等OnPaint绘图消息响应函数

调用类向导

项目->类向导,快捷键Ctrl+shilft+X

图片[1]-5.函数OnInitDialog中修改Exit对话框不可用添加处理事件用-老王博客

四、添加按钮

删除默认对话框中的静态文本和原按钮,新增按钮1和按钮2,可在属性页查看和设置。一般只需要修改“Caption”和“ID”两个属性mfc小游戏程序基于对话框,前者是按钮的文本,后者是它的唯一标识。

为按钮添加事件处理程序

实现按钮的功能

添加按钮的控制变量mfc小游戏程序基于对话框,变量名通常以“m_”开头,下面部分是按钮功能的简要说明。

修改初始化函数OnInitDialog中的退出对话框不可用

// TODO:  在此添加额外的初始化代码
    m_Exit.EnableWindow(FALSE);

添加处理事件

void CMFCTest1Dlg::OnBnClickedButton1()
{
    // TODO:  在此添加控件通知处理程序代码
    CString str;
    m_Enable.GetWindowTextW(str);
    if (str=="使能")
    {
        m_Exit.EnableWindow(TRUE);
        m_Enable.SetWindowTextW(_T("使不能"));
    }
    else
    {
        m_Exit.EnableWindow(FALSE);
        m_Enable.SetWindowTextW(_T("使能"));
    }
}
void CMFCTest1Dlg::OnBnClickedButton2()
{
    // TODO:  在此添加控件通知处理程序代码
    SendMessage(WM_CLOSE, 0, 0);
}

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论