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将控件的内容更新显示到成员变量
原文地址:https://www.cnblogs.com/yskn/p/9681141.html