【MFC相关】MFC入门相关
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入门相关相关推荐
- Revit二次开发入门相关安装和配置
Revit二次开发入门相关安装和配置 最近一周,由于项目需要,需要做一个基于Revit的二次开发项目,也特意初步自学了Revit二次开发的相关知识.由于学习时间过短,了解到的只是皮毛,所有还希望大家能 ...
- 手机的组成==软件人员需要了解的一些名词==相关的部门及其人员==入门相关
a 手机的组成: Cpu 中央处理器 Memory 存储器 Lcm 显示屏 Touchpanel : 电容屏/ 电阻屏 Headset 耳机 Bluetooth ...
- FPGA入门相关资料
FPGA入门相关资料 01-语言与基础吗-verilog与数字电路 书籍推荐: 语法基础:Verilog 数字系统设计教程 [第2版] -- Digital System Design Tutoria ...
- Unity相关--C#入门到进阶
笔记相关–C#入门到进阶 前记:自己学C#时候的一些笔记,内容可能较多,在vscode里面写的,3000行左右. ---------------------------目录-------------- ...
- 人工智能初学者入门相关题型
1.八数码问题 思路: A*搜索算法求解八数码问题 解析: 如果用A搜索算法做,思路如下,最优解同上 八数码问题(变式) 题解: A*算法求解同题 题解: 2.汉诺塔问题 思路: 3.语义网络 思路: ...
- 【MFC】MFC工程文件详解
00. 目录 文章目录 00. 目录 01. 概述 02. 解决方案相关文件 03. 工程相关文件 04. 头文件和源文件 05. 资源文件 06. 预编译头文件 07. 编译目标和中间文件 08. ...
- ML之GB:GB算法相关论文、相关思路、关键步骤、代码实现、配图集合、案例应用之详细攻略
ML之GB:GB算法相关论文.相关思路.关键步骤.代码实现.配图集合.案例应用之详细攻略 目录 GB算法相关文献.论文 GB算法关键步骤 GB算法代码实现 GB案例应用 1.GB用于回归 2.GB用于 ...
- arthas命令整理:基础命令、jvm相关、class相关命令
基础命令 jvm相关命令 class相关命令
- 【MFC】MFC开发之前言
00. 目录 文章目录 00. 目录 01. MFC概述 02. VC++简介 03. VC++和MFC 04. MFC框架 05. 为什么选择MFC 06. 附录 01. MFC概述 微软基础类库( ...
- 第十三章 相关方管理 权利利益方格 凸显模式 相关方立方体 相关方登记册 相关方参与评估矩阵
相关方管理 过程组 相关方管理 启动 识别相关方 规划 规划相关方参与 执行 管理相关方参与 监控 监督相关方参与 总结:从标题就可以看出,相关方管理就管理相关方参与度.相关方期望.相关方的积极度. ...
最新文章
- 宁波大红鹰学院计算机科学与技术,2019宁波大红鹰学院专业排名
- Linux下程序时间消耗监控与统计
- smart-socket如何实现字符串通信
- 2017,公司必须换掉的六种人,别心软!
- app:compileDebugJavaWithJavac
- java基础---流程控制
- 导出excel数字前面的0消失_Excel操作中常见的3大坑你遇到过吗?遇到应该这么解决...
- Redis与Django中配置使用Redis
- 编程实现激光雷达点云数据提取道路特征
- Ansible基本配置以及使用示例
- 关于umask函数和creat函数
- java word转pdf 在linux转pdf乱码解决方法
- ZooKeeper 的监控
- python编程语言在线编译手机_groovy在线运行,groovy在线编译,支持手机在线编程写代码 - Groovy教程...
- JavaScript 模板引擎
- 周爱民:架构的实战过程
- QTTabBar安装与使用: 更胜浏览器的Windows平台浏览文件方式
- 数学中的哈斯图如何构造?附实例
- day23 三升序列
- Springboot整支付宝网站支付、APP支付、单笔转账给用户、退款功能