1.MFC的“匈牙利标识符命名法”,这是一个约定,可以增加代码的可读性:

  • 声明或定义了一个类,那么这个类可以以“C”(class)为前缀,如CHelloWorldDlg类;
  • 定义一个无符号型的局部变量,可以用“u”(unsigned)为前缀,如UINT uPort; ULONG uFlags;
  • 如果是int或long类型的变量,则以“n”为前缀;
  • DWORD类型的变量前缀为“dw”;
  • 字符数组以“sz”作为前缀;
  • CString类的对象以“str”作为前缀;
  • 指针以“lp”或“p”(long pointer或pointer,在WIN32环境下这两种指针并没有什么差别)作为前缀;
  • 引用以“r”为前缀;
  • 布尔型变量以“b”为前缀;
  • 句柄型的变量以“h”(handle)作为前缀。
  • 如果变量是全局的,那么以“g_”(global)开头,如BOOL g_bFlags;
  • 如果是类的成员变量则以“m_”(member)开头,如HICON m_hIcon;。

2.对话框资源与类的绑定:

1 enum { IDD = IDD_HELLOWORLD_DIALOG };

3.成员函数:

  • virtual void DoDataExchange(CDataExchange* pDX);是用来支持DDX(对话框数据交换,将一个变量和一个控件进行绑定的时候用DDX)和DDV(对话框数据效验,检验该控件是否为你所需要的时候用DDV)机制的成员函数。
  • virtual BOOL OnInitDialog();是在对话被创建(Create)后立即被执行的函数,因此在这里可以添加对话框的初始化所需要的自定义代码。
  • afx_msg void OnSysCommand(UINT nID, LPARAM lParam);是对话框的处理WM_SYSCOMMAND消息的函数。WM_SYSCOMMAND消息是关于系统控制的消息,如鼠标在标题栏上的操作等。
  • afx_msg void OnPaint();是对话框处理WM_PAINT的函数,当对话框窗体发生重绘时有WM_PAINT消息到达程序。
  • afx_msg HCURSOR OnQueryDragIcon();当用户拖动最小化窗口时系统调用此函数取得光标显示。
  • afx_msg void OnBnClickedHelloworld();是处理按钮单击消息的处理函数。

4.Edit控件:

  • GetDlgItem()函数是获取的其文本内容,获取数值:int nValue = _ttoi(strInput);的方法来转换。
  • 右键点击添加的控件,选择“添加变量”菜单项,设置其访问属性(建议用protected);在类别中选择Value(默认是Control);设置int和变量名m_nValue,点击完成按钮。完成“添加变量”向导后,在DoDataExchange()中,系统自动添加了一条语句:DDX_Text(pDX, IDC_INPUT, m_nValue);意思是将ID为IDC_INPUT的控件与m_nValue成员变量进行绑定。当程序执行UpdateData()的时候,数据便开始进行交换,数据交换方向由UpdateData的参数确定。
  • UpdateData(TRUE);就是让文本框的值更新到m_nValue里,如果是UpdateData(FALSE);就是将变量中的数据返回给文本框里。

5.Check控件和Radio控件:

BOOL bState;
bState = ((CButton*)GetDlgItem(IDC_CHECK1))->GetCheck();//获取复选框状态,一定要再获得CWnd指针后,强制转换为CButton指针
((CButton*)GetDlgItem(IDC_RADIO1))->SetCheck(1);        //设置单选框状态为选中

转载于:https://www.cnblogs.com/imagezy/p/4569123.html

【MFC相关】MFC入门相关相关推荐

  1. Revit二次开发入门相关安装和配置

    Revit二次开发入门相关安装和配置 最近一周,由于项目需要,需要做一个基于Revit的二次开发项目,也特意初步自学了Revit二次开发的相关知识.由于学习时间过短,了解到的只是皮毛,所有还希望大家能 ...

  2. 手机的组成==软件人员需要了解的一些名词==相关的部门及其人员==入门相关

    a 手机的组成: Cpu       中央处理器 Memory    存储器 Lcm       显示屏 Touchpanel : 电容屏/ 电阻屏 Headset     耳机 Bluetooth ...

  3. FPGA入门相关资料

    FPGA入门相关资料 01-语言与基础吗-verilog与数字电路 书籍推荐: 语法基础:Verilog 数字系统设计教程 [第2版] -- Digital System Design Tutoria ...

  4. Unity相关--C#入门到进阶

    笔记相关–C#入门到进阶 前记:自己学C#时候的一些笔记,内容可能较多,在vscode里面写的,3000行左右. ---------------------------目录-------------- ...

  5. 人工智能初学者入门相关题型

    1.八数码问题 思路: A*搜索算法求解八数码问题 解析: 如果用A搜索算法做,思路如下,最优解同上 八数码问题(变式) 题解: A*算法求解同题 题解: 2.汉诺塔问题 思路: 3.语义网络 思路: ...

  6. 【MFC】MFC工程文件详解

    00. 目录 文章目录 00. 目录 01. 概述 02. 解决方案相关文件 03. 工程相关文件 04. 头文件和源文件 05. 资源文件 06. 预编译头文件 07. 编译目标和中间文件 08. ...

  7. ML之GB:GB算法相关论文、相关思路、关键步骤、代码实现、配图集合、案例应用之详细攻略

    ML之GB:GB算法相关论文.相关思路.关键步骤.代码实现.配图集合.案例应用之详细攻略 目录 GB算法相关文献.论文 GB算法关键步骤 GB算法代码实现 GB案例应用 1.GB用于回归 2.GB用于 ...

  8. arthas命令整理:基础命令、jvm相关、class相关命令

    基础命令 jvm相关命令 class相关命令

  9. 【MFC】MFC开发之前言

    00. 目录 文章目录 00. 目录 01. MFC概述 02. VC++简介 03. VC++和MFC 04. MFC框架 05. 为什么选择MFC 06. 附录 01. MFC概述 微软基础类库( ...

  10. 第十三章 相关方管理 权利利益方格 凸显模式 相关方立方体 相关方登记册 相关方参与评估矩阵

    相关方管理 过程组 相关方管理 启动 识别相关方 规划 规划相关方参与 执行 管理相关方参与 监控 监督相关方参与 总结:从标题就可以看出,相关方管理就管理相关方参与度.相关方期望.相关方的积极度. ...

最新文章

  1. 宁波大红鹰学院计算机科学与技术,2019宁波大红鹰学院专业排名
  2. Linux下程序时间消耗监控与统计
  3. smart-socket如何实现字符串通信
  4. 2017,公司必须换掉的六种人,别心软!
  5. app:compileDebugJavaWithJavac
  6. java基础---流程控制
  7. 导出excel数字前面的0消失_Excel操作中常见的3大坑你遇到过吗?遇到应该这么解决...
  8. Redis与Django中配置使用Redis
  9. 编程实现激光雷达点云数据提取道路特征
  10. Ansible基本配置以及使用示例
  11. 关于umask函数和creat函数
  12. java word转pdf 在linux转pdf乱码解决方法
  13. ZooKeeper 的监控
  14. python编程语言在线编译手机_groovy在线运行,groovy在线编译,支持手机在线编程写代码 - Groovy教程...
  15. JavaScript 模板引擎
  16. 周爱民:架构的实战过程
  17. QTTabBar安装与使用: 更胜浏览器的Windows平台浏览文件方式
  18. 数学中的哈斯图如何构造?附实例
  19. day23 三升序列
  20. Springboot整支付宝网站支付、APP支付、单笔转账给用户、退款功能

热门文章

  1. windows下连接smb服务器
  2. #189 stat(动态规划)
  3. BZOJ3170: [Tjoi2013]松鼠聚会 - 暴力
  4. java mysql 数据库
  5. Jmeter(二十五)Jmeter之系统函数
  6. ubuntu14.04安装tun/tap网络设备
  7. 基于微信地理位置的附近商家距离坐标数据查询方法
  8. ASP.NET Core 1.0开发Web API程序
  9. 设计模式学习笔记(三)之静(动)态代理模式、适配器模式
  10. Eclipse——热键amp;Help