• 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将控件的内容更新显示到成员变量
    
  • 相关阅读:
    dotnet core gbk 编码错误解决方案
    测试工程师有福啦!一键生成api文档及测试功能
    Asp.net MVC + AngularJS 统一权限管理系统(一)
    移动开发在路上-- IOS移动开发 五 网络请求封装
    移动开发在路上-- IOS移动开发系列 网络交互四(2)
    移动开发在路上-- IOS移动开发系列 网络交互四(1)
    GZIP怎么运用在.NET MVC 简单实现
    顺时针打印矩阵
    numpy教程 pandas教程 Python数据科学计算简介(莫烦 视频链接+代码笔记)
    4. Median of Two Sorted Arrays
  • 原文地址:https://www.cnblogs.com/yskn/p/9681141.html
Copyright © 2020-2023  润新知