`
javababy1
  • 浏览: 1244039 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

MFC-控件变量

 
阅读更多

  1. #define INVALID_SOCKET (SOCKET)(~0)
  2. 就是值为-1

  3. Memset()函数
  4. VS2008 使用控件变量,右击控件->添加变量->此时只是添加了这些
  5. , m_history(_T(""))

    , m_content(_T(""))

    , m_nickname(_T(""))

    DDX_Text(pDX, IDC_HISTORY, m_history);

    DDX_Text(pDX, IDC_CONTENT, m_content);

    DDX_Text(pDX, IDC_NICKNAME, m_nickname);

    DDX_Control(pDX, IDC_LOGIN, m_login);

    DDX_Control(pDX, IDC_SEND, m_send);

    然后在类中在定义即可(应该是2008的一个BUG有时候不能正确添加)

    CString m_history;

    CString m_content;

    CString m_nickname;

    CButton m_login;

    CButton m_send;

    下面将通过一个最简单的程序来说明Windows的消息机制。程序主要是使用两个按钮控件,它要求用户输入两个数字,当你按下其中一个按钮的时候,会根据进行相应的计算并输出结果。例如如果你输入1和2,然后按下''Plus'' 按钮,就会输出结果。

    由于大多数情况下,按钮控件都是在对话框中使用的,所以我们的程序也就从对话框开始。使用程序向导建立一个名为“ButtonDemo”的项目,选择基于对话框的程序类型。

    选择Workspace中的ResourceVew 属性页,在里面找到名为IDD_BUTTONDEMO_DLG的一项,双击打开对话框编辑窗口。可以看到系统已经替我们在窗口中加入了''Ok''和 ''Cancel''两个按钮,我们保留OK按钮,删掉Cancel按钮,并按照图中所示改变按钮的放置位置。

    通过鼠标的拖放操作往窗体中加入两个按钮(因为在本程序中需要''Plus'' and ''Minus''两个按钮),在按钮上面右击鼠标,选择properties进入控件的属性设置。MFC会为每一个新加入到窗口中的按钮分配一个唯一的 ID值,相应的ID值会记录在一个名为"Resource.h"文件中。为了表达清楚各个控件的功能,我们将按钮的ID值改为 ID_BUTTON_ADD,并修改caption的内容为“Plus”。

    下一步我们要加入Edit Box控件以便在程序中输入和输出数据。加入Edit Box控件的方法跟加入Button控件的方法是一样的,就是先把控件拉进来,调整它在窗口中的位置,然后修改它们的ID值。如下图所示,不过记得在最后一个Edit Box控件的属性设置中要把 ''disable''的属性也勾上,因为计算的结果不需要由用户输入。我们还在右边的两个Edit Box之间加入一个Static 控件用来显示等式中的等号,只需要把控件拖进来改变它的caption就可以了。

    调整好各个控件的位置之后,我们要把控件与程序代码联系起来。这一步可以通过类向导(class wizard)来实现,调用类向导的方法有两种,一种是通过菜单项 View->Class Wizard调用,又或者通过快捷键Control + W 。选择Member Variables 属性页,加入以下三个变量: m_nX, m_nY和m_nAnswer。记住三个变量的类型都是整数int类型,它们用来存放Edit Box中的整数值。

    然后再选择Message Maps 属性页,为ID值为ID ID_BUTTON_ADD和 ID_BUTTON_SUBTRACT 的两个按钮控件添加BN_CLICK消息,系统会针对添加的消息在代码中加入相应的消息函数,这样当用户点击按钮的时候就会调用这个函数。在本例中生成的 两个消息函数分别名为 OnButtonAdd 和 OnButtonSubtract.。完成了上面的工作之后,记住最后要按OK按钮退出类向导。

    现在我们可以着手代码的编写了。代码的意思相信不难理解,但是关于UpdateData函数却有必要在这里讲解一下。在这里UpdateData函数起到控制Edit Box 显示内容的作用。当调用UpdataData (TRUE)的时候,程序会对控件对应的变量值进行刷新,也就是说会把控件中的输入值赋给对应的变量。而调用UpdataData (FALSE)的时候,程序则会把相应变量的值显示在对应的控件上面。

    void CButtonDemoDlg::OnButtonAdd()
    {
    UpdateData (TRUE);
    m_nAnswer = m_nX + m_nY;
    UpdateData (FALSE);
    }

    void CButtonDemoDlg::OnButtonSubtract()
    {
    UpdateData (TRUE);
    m_nAnswer = m_nX - m_nY;
    UpdateData (FALSE);
    }

    按钮的使用就是如此简单。

    既然上面讲到添加消息函数,这里就顺便加插些内容。在默认的情况下,通过类向导只能添加一些常用的消息函数。也就是说在类向导的消息列表中并没有列举出所 有的消息。此时可以通过下面的方法往列表中加入这些没有显示的消息。选择“Workspace”中的“ClassViewq”页,在对应的类中右击,选择 Add Windows Message Handler…,这时你就会看到其它一些原来列表中没有的Windows消息了,你可以选择其一或者全部加入到消息列表中,这样就可以使用类向导来添加 相应的消息函数了。如果在以后的练习中遇到类向导中没有的Windows消息,记住这个方法哦。

    源文档 <http://www.vckbase.com/document/viewdoc/?id=552>

memset(buffer,0,1024);

分享到:
评论

相关推荐

    实验七-MFC-控件编程实验.docx

    ### 实验七-MFC-控件编程实验知识点详解 #### 一、实验目的与意义 本次实验的主要目的是帮助学生熟悉并掌握使用Microsoft Foundation Classes (MFC) 进行控件编程的基本技能。具体目标包括: 1. **熟悉Visual C++...

    实验七-MFC-控件编程实验.doc

    实验七-MFC控件编程实验主要关注的是使用Microsoft Foundation Class (MFC) 库在Visual C++ 6.0开发环境中进行Windows应用程序的编写。MFC是一个C++类库,它封装了Windows API,简化了Windows GUI(图形用户界面)...

    mfc--tab控件的使用

    在MFC(Microsoft Foundation Classes)框架中,Tab控件是一种常用的设计元素,它允许用户在多个页面或选项卡之间切换,以展示不同内容或执行不同功能。本文将详细介绍如何在MFC中使用Tab控件,以及如何通过不同方案...

    MFC控件变量之间的传值

    在这个"实现MFC控件与变量之间的基础传值"的Demo中,我们将探讨如何在MFC应用中处理控件(如按钮、文本框等)与应用程序内部变量之间的数据交互。 首先,我们需要了解MFC中控件的基本概念。控件是由操作系统提供的...

    一步一步学习MFC---1,Edit_Box控件使用

    3. **编写代码**:在对话框类中,重载`OnInitDialog`函数初始化控件,并连接控件ID与成员变量。同时,为控件注册`EN_CHANGE`消息处理函数,以便实时验证输入的合法性。 4. **数据绑定**:如果应用中有复杂的数据管理...

    MFC picture控件鼠标响应事件

    在Microsoft Foundation Classes (MFC)框架中,Picture控件通常被用来显示图像,它是一个CStatic派生的类。在本教程中,我们将探讨如何在使用Visual Studio 2017开发MFC应用程序时,为Picture控件添加鼠标响应事件,...

    MFC日历控件的使用方法

    在Microsoft Foundation Classes (MFC)库中,日历控件是一种用于显示和选择日期的图形用户界面元素。本文将深入探讨如何在MFC应用程序中添加并使用日历控件,以便用户可以方便地进行日期选择。 首先,我们需要在...

    mfc项目.rar-控件

    创建MFC控件通常涉及以下几个步骤: 1. **声明控件类**:首先,你需要声明一个控件类,通常是通过继承CWnd或特定的控件类。 2. **添加资源**:在资源编辑器中,添加控件到对话框或其他容器中,并为其分配ID。 3. **...

    MFC中通过webbrowser控件操作网页。

    在Microsoft Foundation Classes (MFC)框架中,WebBrowser控件是一个强大的工具,它允许开发者在桌面应用程序中嵌入Web浏览器的功能。这个控件是基于Internet Explorer的ActiveX控件,因此,它可以执行大部分IE浏览...

    修复Visual Studio控件不能添加变量错误

    然而,有时候用户可能会遇到一些问题,例如“Visual Studio 控件不能添加变量错误”。这通常意味着在尝试向窗体或控件添加新的成员变量时遇到了障碍。本文将深入探讨这个问题的原因、解决方案以及预防措施。 首先,...

    MFC控件使用实例

    本主题将深入探讨MFC控件的使用,并通过具体的实例来展示其在VC++开发中的应用。 一、MFC控件基础 MFC控件是Windows操作系统中常见的用户界面元素,如按钮、文本框、列表框等的C++类表示。这些类通常位于`AFXWIN`...

    MFC Edit控件之enter回车捕捉

    ### MFC Edit 控件之 Enter 回车捕捉详解 #### 一、背景介绍 MFC(Microsoft Foundation Classes)是微软提供的一套基于Windows API的面向对象的类库,广泛应用于Windows平台下的桌面应用程序开发。在MFC应用开发...

    MFC 派生控件的陷阱

    1. **消息映射的陷阱**:MFC控件的消息处理主要依赖于消息映射机制。如果你在派生类中添加新的消息处理函数,忘记更新消息映射,可能导致消息无法正确路由,控件的行为可能不符合预期。确保在派生类的`.h`文件中声明...

    VisualC++使用控件变量代码[文].pdf

    在 Visual C++ 中,我们可以使用 MFC ClassWizard 工具来快速创建控件变量。 二、使用控件变量操作控件 在本例中,我们将创建一个简单的对话框应用程序,并使用控件变量来操作控件。首先,我们需要创建一个默认的...

    MFC通用控件的实现,该例综合实现了MFC控件的实现,了解掌握MFC控件

    首先,MFC控件的基础是CWnd类,它是所有窗口和控件类的基类。控件通常继承自CWnd或其派生类,例如CButton、CEdit、CStatic等,这些类为特定类型的Windows控件提供了封装。通过这些类,开发者可以直接调用成员函数来...

    MFC各个控件的操作 属性

    - 使用DoDataExchange()函数进行数据交换,使控件与成员变量保持同步。 - 对于复杂操作,可以创建自定义控件类,重写OnPaint()进行绘制。 总之,MFC提供了丰富的控件库和便捷的API,使得开发者能够轻松地创建和...

    MFC Table控件例程

    在MFC应用中,首先需要在对话框类的成员变量中声明一个CListCtrl类型的成员,例如`CMFCListCtrl m_listCtrl;`,然后在对话框的 OnInitDialog() 函数中初始化这个控件,使用`DoDataExchange(pDX);`来映射控件ID,并...

    MFC动画控件的应用

    - 继承自CWnd或CStatic等基础控件类,增加必要的成员变量,如当前帧数、总帧数、动画间隔时间等。 - 重写OnPaint函数,根据当前帧数绘制对应的图像。 - 实现定时器功能,可以使用CWinApp::SetTimer设置定时器,...

    mfc一些控件总结

    本文将对MFC中的几种常见控件进行总结,包括对话框控件、Static Text控件、Edit Control编辑框控件、Combo Box下拉框控件、List Control列表控件、Tree Control树形控件以及Tab Control标签页控件。 1. 对话框控件 ...

    MFCtab控件的使用

    在Windows应用程序开发中,Microsoft Foundation Class (MFC)库提供了一种方便的方式来实现多文档界面(MDI)或对话框中的选项卡式布局,这就是MFC Tab控件。本篇文章将详细探讨MFC Tab控件的使用,包括其基本概念、...

Global site tag (gtag.js) - Google Analytics