• MFC中对话框的操作


    ①在菜单栏上加一个按钮(Dialog),点击弹出对话框。

    1.新建一个MFC项目,这里命名为sr,首先创建一个新的对话框,在资源视图里找到Dialog右键,Insert Dialog.出现新的对话框编辑界面。可以看到有两个按钮,OKCancel,自带,前者的ID IDOK(后面要用到),后者的IDIDCANCEL,查看ID的方法,在按钮上鼠标右键,选择Properties, 我们可以对对话框进行编辑,移动按钮的位置,或添加元件,如图:

    2.双击对话框的空白处,为它添加类,选择Create a new class,  Name这里写为 dialog(随便起), OK,OK.

    3.创建菜单按钮。找到资源视图中的Menu,双击IDR_MAINFRAME,在帮助的后边空白处双击,出现对话框,Caption:  填写Dialog(名字),下面的Pop_up前面的对号取消选择(没有下级菜单)。

    4.在创建的按钮Dialog右键,ClassWizard,为它添加消息。

    先点击add function后点击edit code

    5. void CSrView::OnMenuitem32771() 函数中写代码:

     dialog  my;//创建对象

           my.DoModal();//弹出对话框、

    编译运行,有错,dialog不认识,在 View类中加入头文件.  #include “dialog.h”,编译运行,点击菜单上的Dialog按钮,弹出刚才新建的对话框。

    如果想当用户点击点击按钮OK后,弹出提示框。

    可以把刚才的代码改成下面:

    dialog  my;

           if(my.DoModal()==IDOK)

           {

                  MessageBox("hello");

           }

    ②在对话框中添加学生姓名信息,用户输入,点击OK后,学生姓名在窗口面板上显示。

    1.       回到资源视图,找到刚才建立的对话框编辑页面,画出如下效果:

    元件的位置随便改,按键盘上的上下左右也可以移动。

    2.为编辑框Edit添加成员变量,右键,CLASSWIZARD,选择Member Variables,双击IDC_EDIT1(这是刚才编辑框的ID)Member variable name   m_strName    Category:  Value  Variable type   OK. OK

    3.在文件视图中找到 srView.h  protected里面加入变量 CString strName;CSrView构造函数中对它初始化。

    4.void CSrView::OnMenuitem32771()函数中加入下面代码:

    strName=my.m_strName;

                  Invalidate();

    5,接下来让它显示。找到OnDraw函数,加入代码:  pDC->TextOut(20,20,strName);

    6.编译运行,输入姓名,点击OK,屏幕上显示输入的姓名。

    ③上面用的是直接传值,Edit编辑框的成员变量属性为 value ,下面用另一种方法(控件类型)增加一个编辑框,输入学号,并在屏幕上显示。

    1.       在原来的对话框编辑界面,画出如下:

    2.第二个编辑框右键,class wizard, Member Variables ,双击IDC_EDIT2name: m_EditID,  Category:  选择Control(控件类型),OKOK

    1.       dialog.h里面,定义变量,public: CString strID;

    3.OK按钮添加消息,双击对话框编辑界面的OK按钮,进入到void dialog::OnOK()

    写下面代码:       m_EditID.GetWindowText(strID);

           void CSrView::OnMenuitem32771()里面strName=my.m_strName;该条代码改为:

    strName=my.m_strName+" "+my.strID;

    4.       编译,运行,点击菜单按钮Dialog输入姓名和学号,点击OK,信息在屏幕上显示。

    5.       还有两种方法,重点改on oK函数里面的代码:

    如下:

    为了方便,通常用第三种方法,其中 IDC_EDIT2是第二个编辑框的ID

    ④编辑框内容的初始化

    1.对类dialog添加消息句柄VM_INITDIALOG,进入函数BOOL CAboutDlg::OnInitDialog()中。

    2.       在函数中添加下面代码:

           CWnd *pw=GetDlgItem(IDC_EDIT2);

           pw->SetWindowText("201258503201");

           m_strName="sun";

           this->UpdateData(false);

     

    编译,运行,发现对话框中有数据了。

    如下:

  • 相关阅读:
    redis安装
    查看数据库
    redis启动出错Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
    java 面向对象基础
    SpringBoot简单公共返回类
    swift闭包_002_swift闭包
    swift的函数类型_001_swift函数类型基本使用
    swift函数_11_函数的嵌套使用
    swift函数_10_swift中函数基本使用
    swift可选类型_09_optional基本使用
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697845.html
Copyright © 2020-2023  润新知