MFC的一些常用操作
一.添加消息
MFC和win32不同的一点是MFC采用的是消息的映射机制,即每一个消息都和处理的函数做了映射,我们可以通过查找的方式来得到消息的对应的函数,当然MFC提供了一个非常简便的方法,我们通过类视图点击xxxdlg类的属性可以看到以下
//在头文件还要声明一个消息宏
BEGIN_MESSAGE_MAP(CDialogDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_WM_LBUTTONDOWN()
END_MESSAGE_MAP()

选择我们所需要的消息即可,然后代码区即可自动的得到相应的代码,当我们不需要时也可以在这里直接删除
二.创建新的对话框(模态,非模态),并通过按键进行打开
要添加新的对话框首先要添加它的UI视图,先进入资源管理器添加新的对话框,然后在新建的UI对话框点击右键然后选择添加类(我们添加的类名称一般情况下都要加上C)


然后我们添加按键,然后为其添加事件,结果如下(模态对话框是阻塞,非模态是非阻塞而且非模态只能创建一次不能重复创建):
//模态对话框的点击事件(阻塞)
void CDialogDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CdigExec exec;
exec.DoModal();
} //非模态对话框
void CDialogDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
if (ifcreat == 0) { ifcreat = 1; dlg.Create(IDD_EXEC);}
dlg.ShowWindow(SW_SHOWNORMAL);
}
三.为静态文本添加变量
首先在MFC中ID的后面是static的均不可以设置变量,所以我们首当其冲的就是现将静态文本的ID尾部改为非static,然后就可以顺利的对静态文本进行操作了.
CString str=L"你是猪";
statictext.GetWindowTextW(str);//得到窗口的文字,对于所有的控件都适用
MessageBox(str);
statictext.SetWindowTextW(str);//设置窗口的文字,对于所有的控件都适用
CdigExec exec;
//还有一些常用的类方法
button.EnableWindow(false);//使得按键按下
四.添加文本控制器
我们添加文本控制器后,当我们选中文本控制器后点击enter会直接退出,如果我们不想要这种效果我们可以有两种选择,如下图所示(一种在控件设置属性中设置,另一种在重写对话框的ONOK(是一种确定的退出),如图后找到ONOK)

五.添加变量的控件类型(一般情况下),值类型
statictext2 = "略略略";
UpdateData(FALSE);//将成员变量的值赋给控件,如果时候TRUE将控件的内容更新显示到成员变量
MFC的一些常用操作的更多相关文章
- c++ MFC图像处理CImage类常用操作代码
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9598974.html MFC图像处理CImage类常用操作 CImage类头文件为#inclu ...
- NSString&NSMutableString常用操作梳理(转)
作者:弦苦 授权本站转载. 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Objective-C中每天都要用到的字符串处理类——NSString. Objec ...
- NSString&NSMutableString常用操作梳理
http://www.cocoachina.com/ios/20150724/12722.html 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Object ...
- 【三】用Markdown写blog的常用操作
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- Mac OS X常用操作入门指南
前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右) =鼠标左键 control+按下 ...
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- nodejs配置及cmd常用操作
一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...
- Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理
摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■ 详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...
随机推荐
- Java内部类(5):应用例
例1-闭包(Closure) 闭包是一个可调用的对象(通过Callback),它记录了一些信息,这些信息来自于创建它的作用域 interface Incrementable { void increm ...
- dozer转化对象
依赖: commons-beanutils-1.9.3.jar.commons-lang-2.6.jar.dozer-5.3.2.jar.jcl-over-slf4j-1.7.25.jar.slf4j ...
- git合并时忽略某个文件
因为开发现场跟部署的环境不同,有很多ip地址每次都要改来改去;于是开两个分支master(用来保存部署现场的ip)和dev(开发环境的ip),开发功能时在dev分支,然后使用master合并,每个分支 ...
- AttributeError: module 'unittest' has no attribute 'TestCase'
一个自己给自己挖的坑 大家千万不要用库的名称命名,特别是刚刚入门的时候.文件夹.文件,都不要用库的名称. 一旦与库重名,就会出现这种 AttributeError. 引以为戒,以后我再这么命名,我就是 ...
- Hbase概述
一.HBASE概述 Hadoop Database NoSQL 面向列 提供实时更新查询 .... 是一个高可靠性 高性能 面向列 可伸缩的分布式存储系统 利用hbase技术可以在廉价的PC ...
- activeMQ(2)
queue与topic的对比 JMS MESSAGE:消息头 消息体 消息属性 DeliveryMode: 消息体: 消息属性:识别 去重 重点标注 //创建会话session 事务.签收 如果 ...
- Android MVC MVP MVVM (二)
MVP模型 View主要是Activity,Fragment MVP和MVC的差别 1.Model和View不再直接通信,通过中间层Presenter来实现. 2.Activity的功能被简化,不再充 ...
- hdoj6446(树形DP)
题目链接:https://vjudge.net/problem/HDU-6446 题意:简化题意后就是求距离和的2*(n-1)!倍. 思路: 简单的树形dp,通过求每条边的贡献计算距离和,边(u,v) ...
- sql常用到的查询连接
一.内连接(Inner Join) select * from a inner join b on a.name=b.name; 此语句的结果为同时匹配表a和表b的记录集.即内连接取的是两个表的交集. ...
- SQL SERVICES 搭建问题
一.SQL SERVICES 设置IP 连接 SQL2008是没有外围配置的,为了能用IP地址或者local登陆,需要做下面的配置. 打开Microsoft SQL Server 2008 R2→配 ...