MFC原理简介,新手看懂MFC代码

编程知识 行业动态 更新时间:2024-06-13 00:18:36
  • 在编程时程序员会看到一个以工程名为类名的类创建的名为 theAPP 的对象,这个对象就是我们要写的程序。(该类是 CWinApp的派生类)
  • 上面提到的以工程名为类名的类有一个成员函数,其函数原型为

    BOOL InitInstance()

    该函数就是我们写程序体的地方,在这个函数中写一个MessageBox函数,那么你按F5时就会弹出一个消息框

  • 如何让自己写的程序弹出一个对话框呢?

    • 首先,需要添加对话框资源
    • 其次需要在上面提到的InitInstance()函数中写淡出对话框的代码
    • 使用CDialogEx创建一个对话框对象(参数为对话框ID)并调用DoModal成员函数,即可调用对话框

      CDialogEx dlg(对话框ID);
      dlg.DoModal();
    • 使用派生类时不需要传递参数,因为这个派生类的构造函数会自动向基类送参数

      CDialog dlg();        //CDialog是CDialogEx的派生类
      dlg.DoModal();
  • 基于对话框的MFC程序的构架一般是两个类,一个类是上面提到的会生成 theAPP 对象的类,另一个是写主对话框中的内容的类

  • 第二个类中需要编写消息处理函数,所谓消息处理函数举个例子就是,你点一下对话框中的确定按钮,然后程序实现什么功能

    简单来说,一个消息ID对应一个消息处理函数,就像这样:

    ON_BN_CLICKED(IDOK, &CMFC应用Dlg::OnBnClickedOk()

    IDOK这个消息对应OnBnClickedOk()函数

    • 在VS的类向导中可以看到所有以WM_为前缀的消息

    也有些函数没有对应的消息ID,因为与这些函数对应的消息是唯一的,无需使用消息ID来区分

总结一下

MFC的组成:
- 必须有一个CWinApp的派生类;
- 必须用派生类在全局定义一个对象theApp;
- 在派生类中必须重写InitInstance虚函数;
- MFC程序就用CWinApp派生类中的InitInstance虚函数作为主函数;

MFC对话框程序的消息处理(消息映射机制)
- 为一个对话框模板建立一个与之关联的CDialog或CDialogEx派生类;
- 在需要启动对话框用派生类定义一个对象,在用对象调用DoModal成员函数;
- MFC如果要处理一个消息,只要打开类向导,选择在下拉中这个对话框类;
- 在消息列表中就可以选择你需要的消息,双击即可建立消息映射函数;
- 消息映射函数就是:一个消息(和一个窗口)对应一个函数的地址

参考资料:
吕鑫MFC教程

更多推荐

MFC原理简介,新手看懂MFC代码

本文发布于:2023-03-27 00:01:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/e9d941e44c11cd47b441d6362fb47f8f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:看懂   原理   新手   代码   简介

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!