zoukankan      html  css  js  c++  java
  • 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将控件的内容更新显示到成员变量
    
  • 相关阅读:
    Firemonkey 控件设定字型属性及颜色
    ListView 使用 LiveBindings 显示超过 200 条记录
    Firemonkey ListView 获取项目右方「>」(Accessory) 事件
    XE7 Update 1 选 iOS 8.1 SDK 发布 iPhone 3GS 实机测试
    Firemonkey Bitmap 设定像素颜色 Pixel
    Firemonkey 移动平台 Form 显示使用 ShowModal 范例
    XE7 提交 App(iOS 8)提示「does not contain the correct beta entitlement」问题修复
    XE7 Android 中使用 MessageDlg 范例
    导出 XE6 预设 Android Style (*.style) 档案
    修正 Memo 設定為 ReadOnly 後, 無法有複製的功能
  • 原文地址:https://www.cnblogs.com/yskn/p/9681141.html
Copyright © 2011-2022 走看看