• 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将控件的内容更新显示到成员变量
    
  • 相关阅读:
    解决后退网页已过期或刷新询问是否重新提交表单的问题
    一行代码获取中文星期
    单例模式弹出窗体实现
    JAVA实现冒泡排序
    关于BufferedWriter.write超过30W条数据写入过慢问题。
    Ibatis的简单介绍
    链接注入(便于跨站请求伪造)(AppScan扫描结果)
    会话标识未更新(AppScan扫描结果)
    跨站点脚本编制实例(AppScan扫描结果)
    深入Java核心 Java内存分配原理精讲
  • 原文地址:https://www.cnblogs.com/yskn/p/9681141.html
Copyright © 2020-2023  润新知