【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.对话框资源与类的绑定:
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(); //设置单选框状态为选中
【MFC相关】MFC入门相关的更多相关文章
- MFC下OpenGL入门(可以用)
MFC下OpenGL入门 源文件 1, 建一工程文件,我这里命名为first,现在first工程里面我们没有添加任何东西,所有的东西都是MFC自动帮我们创建的. 2, 添加链接库.这一步很关键.打开菜 ...
- 背水一战 Windows 10 (68) - 控件(控件基类): UIElement - Pointer 相关事件, Tap 相关事件, Key 相关事件, Focus 相关事件
[源码下载] 背水一战 Windows 10 (68) - 控件(控件基类): UIElement - Pointer 相关事件, Tap 相关事件, Key 相关事件, Focus 相关事件 作者: ...
- 【Android端 adb相关】adb相关总结
一.什么是adb? adb的全称是:Android Debug Bridge,adb命令的构成是三部分,分别是:服务器.客户端.后台程序: (1)客户端:一个在PC上运行的客户端.可以通过shell端 ...
- 【MFC】mfc控件位置调整和坐标确定 .
摘自DoubleLi: http://www.cnblogs.com/lidabo/archive/2012/08/24/2654678.html mfc控件位置调整和坐标确定 http://my ...
- MFC中使用FLASH相关
出自http://my.oschina.net/ypimgt/blog/62573 一.准备工作 第一步:下载并安装Adobe Flash Player. 从官方网站(http://get.adobe ...
- 吕鑫VC6.0-VS2015 全套C/C++、MFC新手实战入门教程、Linux视频教程 最好的基础入门教程没有之一
本课程包括:[1]C语言(1个月)[2]C++语法与数据结构(1个月)) [3]MFC项目开发(1个月)[4]Linux项目开发(1个月)往届的授课视频都已经上传到百度网盘,请同学们按照视频教程提前掌 ...
- Docker 入门相关
什么是Docker和容器 可能是把Docker的概念讲的最清楚的一篇文章 为什么要用Docker 相关网址 Window平台Docker下载 一些基本知识 Volume docker volume l ...
- DBA入门相关知识介绍
DBA(database administrator):数据库管理员 DBMS(database management system):数据库管理系 ...
- Lattice系列FPGA入门相关0(Lattice与Altera、Xilinx对比及入门)
需求说明:Lattice系统FPGA入门 内容 :Lattice与Altera.Xilinx对比 来自 :时间的诗 1.Lattice与Altera.Xilinx对比 latt ...
随机推荐
- Python之美[从菜鸟到高手]--生成器之全景分析
yield指令,可以暂停一个函数并返回中间结果.使用该指令的函数将保存执行环境,并且在必要时恢复. 生成器比迭代器更加强大也更加复杂,需要花点功夫好好理解贯通. 看下面一段代码: def gen(): ...
- objective-c 关键字和概念
@ 看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX. @interface 声明类 @implementation 实现类 @protocol 声 ...
- framework层和native层实现联网控制(iptable方式)
最近工作中,需要开发一个功能----联网控制,这个功能其实用过root的安卓机应该都知道,禁止某个应用连接移动网络或者wifi. root后,通过su去执行iptable的命令就可以根据uid去控制应 ...
- 我的学习笔记之API-Guides翻译------AppComponent_Activites
10.26第一天开始:贵在坚持,边看遍整理 一个应用程序通常由多个Activity组成,它们之间是松耦合的关系.特别的,有一个Activity作为app的主Activity,当app首次启动时呈现给用 ...
- .Net平台-MVP模式再探(二)
PS: 本文与 上一遍文章 没有什么必然的联系,可以说是对于MVP的一定的加深,或许在理解上比上一篇多有点难度. 正文 一.简单讲讲MVP是什么玩意儿 如果从层次关系来讲,MVP属于P ...
- Ini文件操作类
/// <summary> /// Ini文件操作类 /// </summary> public class Ini { // 声明INI文件的写操作函数 WritePriva ...
- [转载]Heritrix 提高效率的若干方法
摘自http://blog.sina.com.cn/s/blog_6cc084c90100nf39.html --------------------------------------------- ...
- C#学习日志 day 2 ------ 控制台颜色以及windowsphone 窗体应用试建
成功跑起来了hello之后,试试改变背景颜色.
- MySQL学习系列一---命令行连接mysql和执行sql文件
1.命令行连接mysql #mysql -h(主机) -u(用户名) -p (数据库名) mysql -hlocalhost -uroot -p testdb Enter password: **** ...
- scanf(),gets(),gechar()函数小结
1. 使用scanf()函数从终端输入字符串时,刚开始输入的所有空格不计入当前字符串,以 space,enter,tab键结束当前字符串的输入:最后的space,enter,tab字符会留在输入缓冲区 ...