黑马程序员C语言教程:MFC界面分屏操作

合集下载

用MFC分割窗口

用MFC分割窗口

首先建立MFC AppWizard(exe),取名字为SplitterWnd,下一步,选择单文档“Single document”,其他默认,点击“完成”。

点击ResourceView,在Dialog下插入两个个Dialog窗口用于稍后的分割后的窗口,ID号分别改为“IDD_FORMVIEW1”和“IDD_FORMVIEW2”。

记得及时保存。

单击ClassView标签,添加2个类,当然也可以从ClassWizard中添加,名字叫FormView1,类选择CFormView,Dialog ID选择IDD_FORMVIEW1,另一个类叫FormView2,ID选择IDD_FORMVIEW2。

在CMainFrame中添加两个成员变量,类型都为CSplitterWnd,变量名分别为m_splitter和m_splitter1,然后添加一个虚函数OnCreateClient,点击编辑代码,将如下代码更改
改为
添加头文件
好了,现在编译运行,可以得到分栏的结果了。

但是可以看到,得到的窗口位置随机,窗口大小可以随意改变,所以我们可以再增加语句进行设置,仍然在框架类中添加
在CMainFrame::OnCreate中添加如下语句,使得窗口居中
由于固定了窗口的大小,所以需要屏蔽掉最大化按钮,使用户不会觉得如此不正规,在CMainFrame::PreCreateWindow中添加
这样,一个初级的窗口分割就做完了,庆祝一下吧!。

MFC编程基础教程

MFC编程基础教程

MFC编程基础教程MFC(Microsoft Foundation Classes)是一套基于C++的应用程序框架,用于开发可视化的Windows应用程序。

MFC提供了丰富的工具和类库,使程序开发人员能够更加轻松地创建Windows应用程序。

一、MFC框架的介绍MFC是一种C++编程框架,用于开发Windows应用程序。

MFC提供了一系列的类和方法,用于处理窗口、消息处理、资源管理等常见的任务。

MFC框架的核心是一个称为CWinApp的类,它是应用程序的入口点。

二、MFC的基本概念1.窗口:MFC使用窗口来显示应用程序的用户界面。

窗口可以是主窗口、对话框、工具栏、菜单等。

2.消息处理函数:MFC使用消息机制来处理用户输入和系统事件。

消息处理函数是在收到特定的消息时执行的代码块。

3.控件:控件是用于用户交互的窗口元素,例如按钮、文本框、列表框等。

4.对象模型:MFC使用面向对象的概念来管理窗口和控件。

每个窗口或控件都是一个C++对象,有自己的属性和方法。

三、MFC应用程序的创建1.创建一个MFC应用程序的步骤:a. 新建项目:在Visual Studio中创建一个MFC应用程序项目。

c.编写代码:编写消息处理函数和其他代码,实现应用程序的功能。

d.编译和运行:编译项目并运行应用程序。

四、MFC消息处理1.应用程序的消息循环:MFC应用程序的消息循环负责接收和处理用户输入和系统事件。

2.消息映射表:消息映射表是一个用于将消息与消息处理函数关联的数据结构。

3.常见的消息类型:MFC提供了大量的消息类型,包括鼠标和键盘消息、窗口消息、菜单消息等。

五、MFC控件的使用1.控件的创建和操作:使用MFC提供的类和方法来创建和操作控件。

2.控件的属性设置:通过设置控件的属性来改变它的外观和行为。

3.控件事件的处理:通过处理控件的事件来响应用户的操作。

六、MFC对话框的使用2.对话框控件的操作:对话框中的控件可以像其他控件一样进行操作。

MFC使用教程范文

MFC使用教程范文

MFC使用教程范文MFC(Microsoft Foundation Classes)是微软的一套C++类库,用于开发Windows桌面应用程序。

本教程将向您介绍MFC的基本概念和使用方法。

一、MFC简介MFC是基于面向对象的设计思想,为开发Windows应用程序提供了一套强大的工具和框架。

它提供了诸如窗口、对话框、菜单等常见界面元素的类,并且封装了底层的Windows API,简化了程序的编写过程。

二、MFC应用程序的创建要创建一个MFC应用程序,您可以使用Visual Studio进行操作。

首先,打开Visual Studio,并选择“新建项目”,然后选择“MFC应用程序”模板。

在创建项目的向导中,您可以指定应用程序的名称、位置和其他选项。

接下来,您可以选择所需的特性和模板。

例如,如果需要创建一个对话框应用程序,则可以选择“对话框”模板。

创建完成后,Visual Studio将自动为您生成一个基本的MFC应用程序框架,包括一个主窗口、一个菜单栏、一个工具栏和一个状态栏。

三、MFC界面元素的创建和使用1. 窗口(CWnd类):MFC提供了多种窗口类,如CFrameWnd、CView 等,您可以根据需要选择合适的窗口类来创建窗口。

4. 菜单(CMenu类):MFC通过CMenu类来管理菜单。

您可以创建菜单项并将其添加到菜单中,然后将菜单与窗口相关联。

5. 工具栏(CToolBar类):工具栏是一种常见的界面元素,用于提供快速访问常用命令的按钮。

您可以通过CToolBar类创建和管理工具栏,并将其与窗口相关联。

四、MFC消息机制在MFC中,程序通过消息来进行事件处理。

消息是由操作系统发送给应用程序的,应用程序通过重载消息响应函数来处理不同类型的消息。

在MFC中,您可以通过添加消息映射宏(BEGIN_MESSAGE_MAP和END_MESSAGE_MAP)和消息处理函数(OnXxx系列函数)来处理消息。

mfc 教程

mfc 教程

mfc 教程MFC(Microsoft Foundation Classes)是一种用于开发Windows应用程序的C++框架,由Microsoft推出。

它提供了一系列的类和函数,简化了Windows编程的复杂性,使开发人员可以更轻松地创建各种功能强大且交互性良好的应用程序。

MFC教程的目的是帮助初学者了解MFC的基本概念和使用方法,以便能够利用MFC框架开发自己的Windows应用程序。

本教程将介绍MFC的主要组成部分、常用类以及一些常见的编程技巧,帮助读者快速上手。

第一部分将介绍MFC的基本概念和架构。

我们将了解MFC是如何工作的,包括应用程序对象、文档/视图体系结构和消息映射等主要概念。

我们还将学习如何创建一个简单的MFC应用程序,并进行窗口的创建和管理。

第二部分将深入介绍MFC的常用类。

我们将重点介绍窗口类和控件类,包括CWnd、CFrameWnd、CDialog、CButton等。

我们将学习如何使用这些类创建窗口、控件,并处理用户输入事件。

我们还将讨论一些常见的绘图和动画技术,如GDI绘图和使用定时器实现动画效果。

第三部分将介绍MFC的高级特性和编程技巧。

我们将学习如何使用MFC的文档/视图体系结构创建多文档应用程序,并进行文档的管理和视图的同步更新。

我们还将介绍如何通过自定义类和重载消息处理函数来实现定制化的功能。

此外,我们还将讨论一些高级主题,如线程编程和网络编程。

最后,本教程还将介绍一些常见的MFC开发工具和资源。

我们将介绍MFC的IDE(集成开发环境)和调试工具,并提供一些常用的网站和论坛供读者进一步学习和交流。

总结起来,本教程将帮助读者掌握MFC的基本概念和编程技巧,并能够利用MFC框架开发自己的Windows应用程序。

我们将通过实例和演示代码来讲解,帮助读者理解和应用所学知识。

阅读本教程后,读者将具备一定的MFC编程基础,并能够进一步深入研究和应用MFC框架。

希望本教程能够对MFC初学者有所帮助,让他们更加轻松地学习和掌握MFC编程。

MFC单文档多视图分割

MFC单文档多视图分割

MFC视图分割有两种方法,一种动态分割,一种静态分割。

但是动态分割中,对于单文档只能对应于同一个类窗口,这里不适用所以不做过多研究,重点看静态分割的方法。

MFC中封装了CSplitterWnd类可用于视图的分割。

首先在CMainFrame类中添加CSplitterWnd的对象,然后重写CMainFrame 类的OnCreateClient函数,在该函数中进行视图的分割。

在OnCreateCinent函数中,先定义CRect rect,调用函数Getclient(&rect)用来获取主视图窗格的大小,然后调用CSplitterWnd的成员函数CreateStatic 函数来对视图进行分割,函数原型如下,BOOL CreateStatic(CWnd* pParentWnd, //父框架视图对象int nRows, //行数int nCols, //列数DWORD dwStyle = WS_CHILD | WS_VISIBLE, //风格,可直接用默认UINT nID = AFX_IDW_PANE_FIRST //此窗口的子窗口ID。

如果这个分隔器窗口不是嵌套在另一个分隔器窗口中的,则这个ID可以是AFX_IDW_PANE_FIRSH。

);父框架视图对象为this表示第一次分割,这时只需定义要分割的行数和列数即可。

如果已经产生了第一次分割,需要对子窗口进行再分割,则这时候pParentWnd为第一次用于分割的CSplitterWnd的对象指针,再新定义CSplitterWnd对象用于第二次分割,这时nID是要被分割的窗口ID,m_wndSplitter1.IdFromRowCol(1, 0)。

在分割完窗口后,对分割完成的视图创建窗格,此时调用CSplitterWnd的CreateView函数,函数原型如下,virtual BOOL CreateView(int row, //要被创建的视图行int col, //要被创建的视图列CRuntimeClass* pViewClass, // RUNTIME_CLASS(窗格的类名)SIZE sizeInit, //指定窗格的大小CSize(rect.Width()/3,rect.Height()/2)CCreateContext* pContext //pContext);窗格的类要事先定义完成。

MFC控件使用详细教程

MFC控件使用详细教程

MFC控件使用详细教程MFC(Microsoft Foundation Class)是微软推出的一套用于开发Windows应用程序的类库。

它提供了许多方便易用的控件,可以快速创建用户界面。

本教程将详细介绍如何使用MFC控件来创建Windows应用程序。

第一步:创建一个MFC应用程序项目要使用MFC控件,首先需要创建一个MFC应用程序项目。

在Visual Studio中,选择"文件"->"新建"->"项目",然后选择"MFC应用程序"模板。

在项目设置中,可以选择使用对话框或视图来作为应用程序的主界面。

第二步:设置控件属性第三步:添加控件消息处理程序控件不仅仅可以显示在界面上,还可以响应用户的操作。

例如,当用户点击按钮时,可以执行一些特定的操作。

要实现这个功能,需要添加控件消息处理程序。

可以通过右键单击控件,选择"添加事件处理程序"来添加控件消息处理程序。

在生成事件处理程序的对话框中,可以选择控件的事件(如点击事件、鼠标移动事件等)和消息的处理函数。

在消息处理函数中,可以编写代码来实现特定的功能。

第四步:编写控件的功能代码在控件的消息处理函数中,可以使用MFC类库提供的函数来实现控件的功能。

例如,如果用户点击了按钮控件,可以使用CButton类的GetWindowText函数来获取按钮的文本,并使用CMessageBox类的MessageBox函数来显示一个消息框。

可以使用类似的方式来处理其他控件的事件。

例如,当用户选择了一个列表框中的项时,可以使用CListBox类的GetCurSel函数来获取选择的项的索引,并根据索引来执行特定的操作。

第五步:编译和运行应用程序完成了控件的添加和功能编写后,可以使用Visual Studio的编译和运行功能来编译和运行应用程序。

在编译过程中,会生成可执行文件和相关的依赖文件。

mfc使用手册

mfc使用手册

mfc使用手册MFC(Microsoft Foundation Class Library)是微软提供的一个类库,用于简化Windows应用程序的开发过程。

以下是MFC使用手册的简要介绍:1. 简介:MFC是一个基于C++的类库,它提供了许多用于构建Windows应用程序的类和函数。

通过使用MFC,开发人员可以快速地构建具有一致外观和感觉的应用程序,并利用Windows平台提供的各种功能。

2. 安装和配置:在开始使用MFC之前,您需要安装Microsoft Visual Studio并确保安装了MFC开发工作负载。

安装完成后,您需要创建一个新的MFC项目或打开一个现有的MFC项目。

3. 创建MFC应用程序:要创建一个新的MFC应用程序,您需要使用Microsoft Visual Studio的向导。

选择“File”菜单中的“New”选项,然后选择“Project”。

在弹出的对话框中,选择“MFC Application”并按照向导的提示完成应用程序的创建过程。

4. MFC类库:MFC提供了许多用于构建应用程序的类和函数。

以下是一些常用的MFC类:CWinApp:应用程序对象类,用于管理应用程序级别的操作,例如初始化应用程序和退出应用程序。

CWnd:窗口类,用于管理窗口的各种操作,例如创建窗口、处理消息和绘制窗口。

CDocument:文档类,用于管理应用程序中的文档数据。

CView:视图类,用于管理应用程序中的视图,例如显示文档数据和与用户交互。

5. MFC消息处理:MFC使用消息传递机制来处理用户与应用程序的交互。

每个窗口和控件都处理一组预定义的消息,例如鼠标点击、键盘输入和窗口大小改变等。

通过覆盖类中的虚函数,您可以定义应用程序如何响应这些消息。

6. MFC对话框和控件:MFC提供了许多内置的对话框和控件,例如按钮、文本框和列表框等。

您可以使用对话框编辑器来创建对话框,并将控件拖放到对话框中。

mfc静态分割窗口的方法

mfc静态分割窗口的方法

mfc静态分割窗口的方法本文主要是对MFC中CSplitterWnd的用法做个简要介绍。

我找了很久相关资料都没有找到适合新手的相关文章。

希望本文能够帮助有着类似痛苦经历的兄弟。

背景分割窗体就是把一个窗体分割成多个面板,如图1那样,或者像是迅雷那样。

面板就是放各种控件或视图的容器。

分割窗体有两种形式,静态和动态。

今天讲的只涉及到静态的,因为动态的要复杂些。

两种形式的区别在于动态的可以收拢和展开,静态的则不能。

代码指南0、建立项目打开VS2008,新建项目,选择MFC,MFC应用程序。

图2如上图所示,设置好之后单击“完成”。

1、定义变量如图4,在MainFrm.h中添加变量CSplitterWnd splitter 和BOOL isInit。

布尔变量isInit用来管理分割窗体的状态,用来判断是否已经分割过了。

splitter是用来把窗体分割成图1那样子。

另外,在MainFrm 的构造函数中,把isInit设置为FALSE。

如图3.图3图4技巧:用惯了VC#的智能感知,很不习惯VC里面没有智能感知。

不过据我所知早在VC6里面就有个快捷键Alt+→ 来实现类似智能感知的功能,如图3中,输入is 后,同时按下Alt + →这两个键就出现了供选择变量、方法、宏等的列表,继续输入in 后,isInit就出来了。

2、分割窗体分割窗体的动作应该在主窗体创建客户区的时候执行。

在MainFrm中对OnCreateClient消息进行重写就可以达到我们的目的。

在VC2008中,单击“视图”,“类视图”,选中CMainFrm,右键,选择“属性”,如图5.图5在“属性”窗口右上选择“重写”,如图6. 就是“闪电”右边的右边那个。

图6向下拉动滚动条,找到OnCreateClient,选择<添加> OnCreateClient。

如图7.图7在新创建的函数中写代码,如图8。

图8CreateStatic函数中,参数依次是父窗口、分成几行、分成几列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MFC 界面分屏操作
近期陆续有学员问到在MFC编程中怎样做到界面分屏,看到很多学员在这里很有疑惑,我在这里将MFC分屏操作流程向大家分享一下,希望能帮助到大家~
在开发MFC应用程序的时候,我们经常看到其他C/S 软件的界面格局是这样的
那么,他们怎么做到的呢?我们可以使用界面窗体融合
首先,我们先创建一个单文档视图的MFC项目,点击完成
在MFC 框架中,为我们提供了一个csplitterwnd 类——拆分窗口类,提供分离窗口的功能。

那么,在框架类CMainFrame中,我们要添加一个csplitterwnd 类型的成员变量,以供我们使用。

下面,我们要重写框架类CMainFrame 中的OnCreateClient 事件
在事件中,我们要进行界面切分操作,并添加如下代码,那么,问题来了,我们该怎样切分窗口?切分后的窗口该由哪个类来控制它
值得注意的是:我们在创建完视图之后,要将它原先return 的界面视图注销掉,返回我们切分后的视图界面,我们也看到在RUNTIME_CLASS 宏函数中我们的值是空的,这里就是要我们添加我们自己的MFC类
我们就需要我们自定义的窗口视图了,我们可以先创建两个类,值得注意的是:我们创建的MFC 类它的基类必须是视图类
我们创建好之后,返回到我们的框架类CMainFrame中,并找到我们刚刚重写的OnCreateClient函数,将我们新建的视图类添加至RUNTIME_CLASS 宏函数的参数内
发现还是报错,为什么呢?加上头文件即可。

那么,分屏的效果就出来了。

相关文档
最新文档