VS2013/MFC基于对话框编程:[11]编辑框

方法/步骤

  1. 从工具箱中找到编辑框(Edit Control),拖动到对话框中,按图所示放置多个编辑框和一个按钮,用于说明编辑框的不同作用。

    应用程序的功能:起初计算按钮不可用,需要输入正确密码,按回车确认,状态框提示密码正确与否,密码正确后启用按钮;

    输入两个加数,点击按钮计算两数之和并在编辑框中显示结果,同时在记录框中显示计算记录。

    VS2013/MFC基于对话框编程:[11]编辑框
    VS2013/MFC基于对话框编程:[11]编辑框
  2. 首先选中任意一个编辑框,看看编辑框都有哪些属性,其中常用到属性有:

    Multiline:多行,表示内容可以多行显示,一般记录性的编辑框需要多行;

    Password:密码,表示文本以密码形式呈现,一般用来输出密码;

    Read only:只读,表示文本内容只能读不能写;

    Number:数字,表示只能输入数字;

    Lowercase:小写,所有字母全部自动转换为小写显示;

    Uppercase:大写,所有字母全部自动转换为大写显示;

    Horizontal scroll:水平滚动条,需要先选中Multiline属性;

    Vertical scroll:垂直滚动条,需要先选中Multiline属性;

    VS2013/MFC基于对话框编程:[11]编辑框
  3. 根据不同编辑框需要实现的功能不一样,分别修改编辑框的各个属性:

    1、两个加值编辑框修改Number一个为真、一个为假;

    2、密码输入框修改Password为真;

    3、数据之和显示框修改Read only为真;

    4、状态提示框修改Read only为真,Uppercase为真;

    5、记录编辑框修改Read only为真,Multiline为真,Vertical scroll为真;

    VS2013/MFC基于对话框编程:[11]编辑框
  4. 修改各个控件的ID分别为IDC_Add1、IDC_Add2、IDC_Result、IDC_Record、IDC_Password、IDC_Status,按钮ID为IDC_CALC;从resource文件中可以查看控件ID的定义。

    双击按钮生成按钮按下事件处理函数。

    VS2013/MFC基于对话框编程:[11]编辑框
  5. 通过类向导为各个控件添加变量:

    1、给两个加数以及加数之和添加double型的变量m_add1,m_add2,m_result;

    2、给记录框添加控件类型的CEdit m_record;

    3、给密码输入框添加字符串类型的变量CString m_passWord;

    4、状态框不添加变量,以便讲述如何通过ID直接访问控件。

    VS2013/MFC基于对话框编程:[11]编辑框
  6. 修改初始化函数OnInitDialog,添加语句:

    m_record.SetWindowTextW(_T("请输入密码!\n"));

    GetDlgItem(IDC_CALC)->EnableWindow(false);

    这样就设置了提示语句,并将计算按钮设置为不可用,GetDlgItem函数通过ID获取控件,这样就不必添加控件变量。

    VS2013/MFC基于对话框编程:[11]编辑框
  7. 类向导,添加虚函数PreTranslateMessage。

    VS2013/MFC基于对话框编程:[11]编辑框
  8. 修改虚函数:

    BOOL CDemoDlg::PreTranslateMessage(MSG* pMsg)

    {

    // TODO:  在此添加专用代码和/或调用基类

    switch (pMsg->wParam)

    {

    case VK_RETURN:

    UpdateData(true);

    if ( m_passWord== _T("litr123"))

    {

    GetDlgItem(IDC_CALC)->EnableWindow(true);

    GetDlgItem(IDC_Status)->SetWindowTextW(_T("success"));

    }

    else

    {

    GetDlgItem(IDC_Status)->SetWindowTextW(_T("ERROR"));

    }

    case VK_ESCAPE:

    return true; break;

    }

    return CDialogEx::PreTranslateMessage(pMsg);

    }

    函数功能:一来可以防止按下回车或者ESC按键时退出程序,二来可以判断密码是否正确并更新状态内容。

    VS2013/MFC基于对话框编程:[11]编辑框
  9. 接下来修改按钮按下事件处理函数,实现两数相加并更新记录列表。

    void CDemoDlg::OnBnClickedCalc()

    {

    // TODO:  在此添加控件通知处理程序代码

    UpdateData(true);          // 获取数据

    m_result = m_add1 + m_add2;

    UpdateData(false);         // 更新数据

    CString str;

    str.Format(_T("%g %s %g %s %g"), m_add1, _T("+"), m_add2, _T("="), m_result);                       // 数据显示格式

    str += _T("\r\n");            // 回车换行

    int lastLine = m_record.LineIndex(m_record.GetLineCount() - 1);

    m_record.SetSel(lastLine + 1, lastLine + 2, 0);   

    m_record.ReplaceSel(str);  // 在最后一行添加新的内容

    }

    VS2013/MFC基于对话框编程:[11]编辑框
  10. 测试程序运行结果,看看编辑框不同属性会呈现什么不同的效果。

    当记录框不够用时会自动添加滚动条。

    VS2013/MFC基于对话框编程:[11]编辑框
    VS2013/MFC基于对话框编程:[11]编辑框
    VS2013/MFC基于对话框编程:[11]编辑框
    VS2013/MFC基于对话框编程:[11]编辑框

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VS2012是Microsoft Visual Studio 2012的缩写,是一款集成开发环境(IDE)软件,用于开发各种应用程序,包括MFC(Microsoft Foundation Class)编程MFC是Windows操作系统上的一个C++类库,提供了一系列类和函数,用于开发Windows桌面应用程序。通过使用MFC,开发人员可以更快、更简单地创建并管理Windows应用程序的用户界面、输入输出、文件操作等。 在VS2012中,通过使用MFC进行编程,可以利用MFC提供的各种类和函数,快速构建Windows应用程序。MFC包含了丰富的UI控件,如按钮、文本框、列表框等,开发者可以直接使用这些控件,而无需自己编写复杂的UI代码。 此外,VS2012还提供了图形化设计工具,如资源编辑器和对话框设计器,使得MFC应用程序的设计和布局更加方便。开发者可以通过拖放控件、设置属性等方式,快速创建所需的用户界面。 对于开发者而言,可以通过学习MFC编程,掌握使用MFC类库的技巧,了解如何响应用户交互、处理消息、操作文件等。MFC编程还包含一些高级概念,如多线程编程、数据库访问等,可以进一步提升应用程序的功能和性能。 在实际编程过程中,可以使用VS2012生成PDF文件的功能来输出报表、文档等。通过使用MFC类库中提供的相关类和函数,可以在应用程序中生成和编辑PDF文件。可以根据需要,设置PDF的格式、内容、样式等,以满足不同的需求。 总之,通过VS2012和MFC编程,开发者可以快速、高效地开发Windows应用程序,并且可以利用MFC类库的强大功能,实现各种复杂的操作和任务,包括生成和编辑PDF文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值