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.表空间 ■ 详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...
随机推荐
- Oracle面试题
0.绑定变量的优缺点及使用场合分别是什么? 优点:能够避免SQL的硬解析以及与之相关的额外开销(SQL语法.语义的分析.逻辑分析.生成较佳的执行计划等开销),提高执行效率. 缺点:如果在表存在数据倾斜 ...
- xiaopiu产品原型设计与团队实时协作平台
PRD文档创作 全新的文档创作模式,让交互原型与产品文档完美结合: 四大专业模板,满足多场景使用,快速输出专业规范的文档 PRD文档搜索 更专业.更精准的PRD文档垂直搜索服务,包含功能流程.协议条款 ...
- vue-cli的项目中关于axios的全局配置,结合element UI,配置全局loading,header中做token传输
在src目录中建立plugins文件夹,在文件夹内建立axios.js文件 "use strict"; import Vue from 'vue'; import axios fr ...
- antd <BackTop>组件的使用
<Content className={style.content} style={{ maxHeight: 'calc(100vh - 175px)',overflowY:"auto ...
- 单点登录之CAS原理和实现(转载)
转载源:https://www.jianshu.com/p/613c615b7ef1 单点登录之CAS原理和实现 来源于作者刘欣的<码农翻身> + 自己的备注理解 这家集团公司财大气粗,竟 ...
- code review规则
简单可行的code review规则 前言 曾经有一段垃圾代码放在我的面前,我没有拒绝,等我真正开始接手的时候我才后悔莫及,程序员最痛苦的事莫过于此! 每当接手别人的代码,都有一种想重新写一遍的感觉, ...
- java api操作
java api操作 导入开发包 将hbase安装包中lib下包导入java项目 创建表 Configuration conf = HBaseConfiguration.create(); c ...
- 蓝鲸智云安装proxy和p-agent过程记录
1.agent_setup_pro.sh: no such file or directory 2.参考:https://bk.tencent.com/s-mart/community/questio ...
- 烯烃(olefin) 题解
题面 对于每个点,我们可以用一次dfs求出这个点到以这个点为字树的最远距离和次远距离: 然后用换根法再来一遍dfs求出这个点到除这个点子树之外的最远距离: 显然的,每次的询问我们可以用向上的最大值加向 ...
- react 深度 循环嵌套对象渲染问题 map
查了一些资料貌似react的循环渲染对象只有map,但map只支持数组对象. 接到后台数据如下 { "list": { "A": [{ "image& ...