
MFC学习
文章平均质量分 72
Frank---7
从JAVA转C++失败,现在继续卷JAVA的小菜鸡一枚,希望和大家共同进步!
展开
-
MFC----String转double
你可以尝试这些方法,看哪一个适用于你的项目。无法使用,你可以使用。原创 2025-03-24 11:17:55 · 263 阅读 · 0 评论 -
MFC---把指定图片导出到pdf中
【代码】MFC---把指定图片导出到pdf中。原创 2025-03-11 21:42:49 · 358 阅读 · 0 评论 -
MFC---把一个文件夹下面的所有文件复制到另一个文件夹下面(改变最后修改时间版本)
【代码】MFC---把一个文件夹下面的所有文件复制到另一个文件夹下面(改变最后修改时间版本)原创 2024-11-25 14:53:30 · 748 阅读 · 0 评论 -
MFC---创建Ribbon样式、添加控件和为控件添加消息处理函数(Ribbon界面开发)
上一节中讲了GDI对象之画刷CBrush,至此图形图像的入门知识就讲完了。从本节开始将为大家带来Ribbon界面开发的有关内容。本文先来说说如何创建Ribbon样式的应用程序框架。Ribbon界面就是微软从Office2007开始引入的一种为了使应用程序的功能更加易于发现和使用、减少了点击鼠标的次数的新型界面,从实际效果来看,不仅外观漂亮,而且功能直观,用户操作简洁方便。原创 2024-07-09 22:27:40 · 840 阅读 · 0 评论 -
MFC---CDC类及其屏幕绘图函数、画笔(CPen)、画刷(CBrush)(MFC常用类)
CDC类是一个设备上下文类。CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户区关联的显示上下文的成员函数。使用CDC的成员函数可以进行所有的绘图操作,包括处理绘图工具、GDI对象的选择、颜色和调色板的处理、获取和设置绘图属性、映射、窗口范围、坐标转换、剪切以及绘制直线、简单图形、椭圆和多边形等,另外它还为文本输出、处理字体、使用打印机跳转和滚动等提供了成员函数。原创 2024-06-28 21:53:17 · 1174 阅读 · 0 评论 -
MFC---CFont字体类和文本输出(MFC常用类)
GDI(Graphics Device Interface),图形设备接口,是Windows提供的一些函数和结构,用于在显示器和打印机上显示图形。我们在MFC开发中经常会使用GDI来输出文本或图形图像(当然现在也有了GDI+,本教程主要讲解GDI)。文本实际上就是一种特殊的图形,它只不过是根据事先指定的“字体”绘制出来的图形。字体通常用来为字符集中每一个字符,如字母、数字、标点符号等,指定其形状等外表特征。窗口创建后,如果没有专门指定,一般会采用系统字体作为默认字体。原创 2024-06-28 21:02:58 · 1040 阅读 · 0 评论 -
MFC---异常处理(建议直接使用C++标准异常)(MFC常用类)
上一节中讲了CFile文件操作类,本节主要来说说MFC异常处理。在C++编程入门系列的最后一节:C++编程入门系列之五十(异常处理)中,讲了C++标准异常的处理机制,如果你还没有学过这方面内容,可以到那节教程中去学习下。MFC异常处理与C++标准异常处理是类似的,只是它在抛出和捕获异常时使用了一些宏,另外还将异常封装到了CException类及其派生类中。下面就分别讲解这些宏与异常类。原创 2024-06-28 20:23:09 · 781 阅读 · 0 评论 -
MFC---CFile文件操作类(MFC常用类)
如果你学过C语言,应该知道文件操作使用的是文件指针,通过文件指针实现对它指向的文件的各种操作。这些文件操作函数中有的最终还是调用了操作系统的API函数或者处理过程与之类似,例如在Windows系统中,fread函数就调用了API函数ReadFile。Windows系统的API函数除了ReadFile,还有CreateFile、WriteFile等函数。而MFC基于面向对象的思想,将这些Windows API函数封装到了CFile类中,实现对文件的打开、关闭、读、写、获取文件信息等操作。原创 2024-06-28 17:17:38 · 1109 阅读 · 0 评论 -
MFC---CTime类和CTimeSpan类、定时器Timer(MFC常用类)
CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。CTimeSpan类的对象表示的是时间间隔。CTime类和CTimeSpan类一般不会被继承使用。两者对象的大小都是8个字节。CTime表示的日期上限是3000年12月31日,下限是1970年1月1日 12:00:00 AM GMT。定时器,可以帮助开发者或者用户定时完成某项任务。在使用定时器时,我们可以给系统传入一个时间间隔数据,然后系统就会在每个此时间间隔后触发定时处理程序,实现周期性的自动操作。原创 2024-06-28 16:05:21 · 1396 阅读 · 0 评论 -
MFC---CString类(MFC常用类)
CString类作为MFC的常用类,当之无愧。可以这样说,只要是从事MFC开发,基本都会遇到使用CString类的场合。因为字符串的使用比较普遍,而CString类又提供了对字符串的便捷操作,所以它给MFC开发人员带来了高的开发效率,受到了开发者的欢迎。大家使用VS2010的话,可能会见到CStringT,实际上它是一个操作可变长度字符串的模板类。CStringT模板类有三个实例:CString、CStringA和CStringW,它们分别提供对TCHAR、char和wchar_t字符类型的字符串的操作。原创 2024-06-24 22:07:46 · 911 阅读 · 0 评论 -
MFC---概述、各对象之间的关系和分割窗口(文档、视图和框架)
在VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)创建的单文档工程Example34中,我们可以看到MFC向导自动为我们生成了CExample34Doc类、CExample34View类和CMainFrame类,它们就分别是文档类、视图类和框架窗口类。文档/视图结构是MFC提供的一种不错的设计,它将数据的处理和显示分开来,这样更便于我们对程序的维护和扩展。下面分别介绍这种结构中涉及到的几个重要概念。原创 2024-06-24 21:33:38 · 1134 阅读 · 0 评论 -
MFC---状态栏详解及CStatusBar类(菜单、工具栏与状态栏)
状态栏相信大家在很多窗口中都能见到,它总是用来显示各种状态。状态栏实际上也是一个窗口,一般分为几个窗格,每个窗格分别用来显示不同的信息和状态等,如菜单项和工具栏按钮的提示信息。原创 2024-06-24 17:54:53 · 1816 阅读 · 0 评论 -
MFC---工具栏资源及CToolBar类(菜单、工具栏与状态栏)
工具栏一般位于主框架窗口的上部,菜单栏的下方,由一些带图片的按钮组成。当用户用鼠标单击工具栏上某个按钮时,程序会执行相应的操作,如果鼠标没有点击,只是停留在某个按钮上一会后,会弹出一个小窗口显示提示信息。一般工具栏中的按钮在菜单栏中都有对应的菜单项中,即点击工具栏按钮与点击菜单项的效果相同。但工具栏中的按钮都显式的排列出来,操作很方便,而且按钮上的图片描述功能更直观,所以工具栏作为用户操作接口来说比菜单更加便捷。原创 2024-06-24 17:15:43 · 1358 阅读 · 0 评论 -
MFC---菜单资源详解及CMenu类(菜单、工具栏与状态栏)
菜单在界面设计中是经常使用的一种元素,包括Windows系统中的窗口、智能终端设备的应用界面等都会经常见到菜单的身影。我们在对可视化窗口操作时,菜单确实提供了很大方便。菜单可以分为下拉式菜单和弹出式菜单。下拉式菜单一般在窗口标题栏下面显示,大家还记得我们在VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)中创建的HelloWorld单文档工程吗?它的运行结果窗口的标题栏下就是下拉式菜单。下拉式菜单通常是由主菜单栏、子菜单及子菜单中的菜单项和分隔条所组成的。原创 2024-06-24 16:27:08 · 1979 阅读 · 0 评论 -
MFC---标签控件Tab Control(常用控件)
标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。下图是Windows系统配置中标签控件的例子:使用标签控件我们可以同时加载多个有关联的页面,用户只需点击标签即可实现页面切换,方便灵活的进行操作。每个标签除了可以显示标签文本,还可以显示图标。标签控件相当于是一个页面的容器,可以容纳多个对话框,而且一般也只容纳对话框,所以我们不能直接在标签控件上添加其他控件,必须先将其他控件放到对话框中,再将对话框添加到标签控件中。原创 2024-06-24 14:56:56 · 2646 阅读 · 0 评论 -
MFC---树形控件Tree Control(常用控件)
树形控件在Windows系统中是很常见的,例如资源管理器左侧的窗口中就有用来显示目录的树形视图。树形视图中以分层结构显示数据,每层的缩进不同,层次越低缩进越多。树形控件的节点一般都由标签和图标两部分组成,图标用来抽象的描述数据,能够使树形控件的层次关系更加清晰。树形控件在插入新的树节点时会稍麻烦些,回顾之前的列表框,插入新列表项时调用AddString成员函数就可以了,而对于树形控件则需要指定新节点与已有节点的关系。另外,树形控件与列表视图控件一样,可以在每一个节点的左边加入图标。原创 2024-06-21 19:02:30 · 2095 阅读 · 0 评论 -
MFC---列表视图控件List Control (常用控件)
列表视图控件List Control同样比较常见,它能够把任何字符串内容以列表的方式显示出来,这种显示方式的特点是整洁、直观,在实际应用中能为用户带来方便。列表视图控件是对前面讲到的列表框控件List Box的改进和延伸。列表视图控件的列表项一般有图标(Icon)和标签(Label)两部分。图标是对列表项的图形描述,标签是文字描述。当然列表项可以只包含图标也可以只包含标签。列表视图控件有4种风格:Icon、Small Icon、List和Report。原创 2024-06-20 13:57:47 · 1432 阅读 · 0 评论 -
MFC---滚动条控件Scroll Bar、图片控件Picture Control(常用控件)
滚动条大家也很熟悉了,Windows窗口中很多都有滚动条。前面讲的列表框和组合框设置了相应属性后,如果列表项显示不下也会出现滚动条。滚动条分为水平滚动条(Horizontal Scroll Bar)和垂直滚动条(Vertical Scroll Bar)两种。滚动条中有一个滚动块,用于标识滚动条当前滚动的位置。我们可以拖动滚动块,也可以用鼠标点击滚动条某一位置使滚动块移动。从滚动条的创建形式来分,有标准滚动条和滚动条控件两种。原创 2024-06-17 19:08:13 · 1036 阅读 · 0 评论 -
MFC---列表框控件ListBox、组合框控件Combo Box(常用控件)
列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选中的项会高亮显示。列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中一次只能选择一个列表项,而多选列表框可以同时选择多个列表项。列表框也会向父窗口发送通知消息。这些通知消息及含义如下:LBN_DBLCLK :用户用鼠标双击了一列表项,只有具有LBS_NOTIFY 的列表框才能发送该消息LBN_ERRSPACE :列表框不能申请足够的动态内存来满足需要LBN_KILLFOCUS :列表框失去输入焦点。原创 2024-06-17 16:49:45 · 2841 阅读 · 0 评论 -
MFC---按钮控件Button、Radio Button和Check Box和其编程实例(常用控件)
按钮控件包括命令按钮(Button)、单选按钮(Radio Button)和复选框(Check Box)等。命令按钮就是我们前面多次提到的狭义的按钮控件,用来响应用户的鼠标单击操作,进行相应的处理,它可以显示文本也可以嵌入位图。单选按钮使用时,一般是多个组成一组,组中每个单选按钮的选中状态具有互斥关系,即同组的单选按钮只能有一个被选中。命令按钮是我们最熟悉也是最常用的一种按钮控件,而单选按钮和复选框都是一种比较特殊的按钮控件。原创 2024-06-15 20:28:07 · 2316 阅读 · 0 评论 -
MFC---静态文本框和编辑框Edit Control(控件的通知消息)(常用控件)
简单介绍下CStatic类的主要成员函数,下面是成员函数列表。除了上述成员函数外,由于CStatic是CWnd的派生类,CWnd的很多成员函数也可以使用,例如,GetWindowText、GetWindowRect、SetWindowText等。静态文本框的基本应用方法在前面已经讲过,就不再举例,大家可以根据本节所讲进行试验,以对静态文本框有更多的认识。上一节讲了静态文本框,本节要讲的编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本。原创 2024-06-15 19:15:33 · 1057 阅读 · 0 评论 -
MFC---字体对话框和颜色对话框(对话框)
在上一节为大家讲解了文件对话框的使用,本节则主要介绍字体对话框如何应用。字体对话框的作用是用来选择字体。我们也经常能够见到。MFC使用CFontDialog类封装了字体对话框的所有操作。字体对话框也是一种模态对话框。原创 2024-06-14 21:53:09 · 1491 阅读 · 0 评论 -
MFC---消息对话框和文件对话框(对话框)
前面几节讲了属性页对话框,我们可以根据所讲内容方便的建立自己的属性页对话框。本节讲解Windows系统中最常用最简单的一类对话框–消息对话框。我们在使用Windows系统的过程中经常会见到消息对话框,提示我们有异常发生或提出询问等。因为在软件开发中经常用到消息对话框,所以MFC提供了两个函数可以直接生成指定风格的消息对话框,而不需要我们在每次使用的时候都要去创建对话框资源和生成对话框类等。这两个函数就是CWnd类的成员函数MessageBox()和全局函数AfxMessageBox()。原创 2024-06-14 21:16:48 · 1740 阅读 · 0 评论 -
MFC---属性页、向导对话框和一般属性页对话框(对话框)(类视图中进行重载)
前面讲了模态对话框和非模态对话框,本节开始讲一种特殊的对话框–属性页对话框。另外,本套教程所讲大部分对VC++各个版本均可适用或者稍作修改即可。原创 2024-06-14 19:16:58 · 982 阅读 · 0 评论 -
MFC---模态对话框及非模态对话框的弹出过程(对话框)
加法计算器对话框程序大家照着做一遍后,相信对基于对话框的程序有些了解了,有个好的开始对于以后的学习大有裨益。趁热打铁,这一节讲讲什么是模态对话框和非模态对话框,以及模态对话框怎样弹出。原创 2024-06-13 16:03:36 · 1950 阅读 · 0 评论 -
MFC---设置对话框控件的Tab顺序(对话框)
对话框刚打开时输入焦点就在Tab顺序为1的“退出”按钮上,不做任何操作按下Tab键,输入焦点就会转移到Tab顺序为2的“被加数”静态文本框上,但是因为静态文本框不接受任何输入,所以输入焦点继续自动转移到Tab顺序为3的被加数编辑框,再按Tab键,输入焦点又会转移到Tab顺序为4的“加数”静态文本框上,同样由于它是静态文本框,输入焦点不停留继续转移到加数编辑框,后面的控件同理。但是按照我们的输入习惯,应该是被加数的编辑框首先接受用户输入,然后是加数编辑框,再接下来是“计算”按钮,最后才是“退出”按钮。原创 2024-06-12 21:12:20 · 841 阅读 · 0 评论 -
MFC---为控件添加消息处理函数(对话框)
在我们使用任意一种方法添加了消息处理函数以后,都只能得到一个空的OnBnClickedAddButton()函数的函数体,要实现我们想要的功能,还需要在函数体中加入自定义功能代码。在加法计算器程序中,我们想要“计算”按钮实现的功能是,获取被加数和加数的数值,然后计算它们的和并显示到和的编辑框里。那么,OnBnClickedAddButton()的函数体就应修改为:// 将各控件中的数据保存到相应的变量// 将被加数和加数的加和赋值给m_editSum// 根据各变量的值更新相应的控件。原创 2024-06-12 20:44:54 · 789 阅读 · 0 评论 -
MFC---创建对话框类和添加控件变量(对话框)
前两讲中为大家讲解了如何创建对话框资源。创建好对话框资源后要做的就是生成对话框类了。再声明下,生成对话框类主要包括新建对话框类、添加控件变量和控件的消息处理函数等。因为给大家的例程Addition是基于对话框的程序,所以程序自动创建了对话框模板IDD_ADDITION_DIALOG,并自动生成了对话框类CAdditionDlg,它是从CDialogEx类派生的。原创 2024-06-11 21:45:48 · 1334 阅读 · 0 评论 -
MFC---值变量vs控件变量
在 MFC 中,值变量和控件变量各有其用途和特点。值变量用于简化控件内容与数据成员之间的交换,而控件变量提供了对控件本身的直接访问和操作能力。理解和正确使用这两种变量有助于更有效地开发和管理用户界面。原创 2024-06-11 21:24:13 · 504 阅读 · 0 评论 -
MFC---为对话框添加控件(对话框)
创建对话框资源需要创建对话框模板、修改对话框属性、为对话框添加各种控件等步骤,前面一讲中已经讲了创建对话框模板和修改对话框属性,本节继续讲如何为对话框添加控件。上一讲中创建了一个名为“Addition”的工程,目的是生成一个实现加法运算的应用程序。实现加法计算有几个必要的因素:被加数、加数、和。被加数和加数需要输入,和需要输出显示。那么这几个因素都需要相应的控件来输入或显示,下面就一步步讲解如何添加这些控件。原创 2024-06-11 20:46:41 · 1428 阅读 · 0 评论 -
MFC---对话框模板和属性(对话框)
在上一讲中介绍了MFC的消息映射机制,属于原理方面的知识。对于VC++编程入门学习者来说可能有些抽象,把消息映射的知识渗透到后面的教程中。本节开始为大家讲解偏应用的知识-创建对话框。对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个对话框,只是它做了很多美工方面的工作,将其大大美化了。原创 2024-06-10 19:35:45 · 970 阅读 · 0 评论 -
MFC---MFC消息映射机制概述(MFC应用程序框架)
窗口消息一般由三个部分组成:(1).一个无符号整数,是消息值;(2)消息附带的WPARAM类型的参数;(3)消息附带的LPARAM类型的参数。其实我们一般所说的消息是狭义上的消息值,也就是一个无符号整数,经常被定义为宏。MFC使用一种消息映射机制来处理消息,在应用程序框架中的表现就是一个消息与消息处理函数一一对应的消息映射表,以及消息处理函数的声明和实现等代码。当窗口接收到消息时,会到消息映射表中查找该消息对应的消息处理函数,然后由消息处理函数进行相应的处理。原创 2024-06-10 19:00:08 · 755 阅读 · 0 评论 -
MFC---MFC应用程序框架分析(MFC应用程序框架)
上一讲讲的是VS2010应用程序工程中文件的组成结构,可能大家对工程的运行原理还是很模糊,理不出头绪,毕竟跟C++编程入门系列中的例程差别太大。这一节就为大家分析下MFC应用程序框架的运行流程。原创 2024-06-10 16:32:09 · 1138 阅读 · 0 评论 -
MFC---工程文件的组成结构(MFC应用程序框架)
在上一讲中为大家演示了如何利用应用程序向导创建单文档应用程序框架。这一节将以上一讲中生成应用程序HelloWorld的文件结构为例,讲解VS2010应用程序工程中文件的组成结构。用应用程序向导生成框架程序后,我们可以在之前设置的Location下看到以解决方案名命名的文件夹,此文件夹中包含了几个文件和一个以工程名命名的子文件夹,这个子文件夹中又包含了若干个文件和一个res文件夹,创建工程时的选项不同,工程文件夹下的文件可能也会有所不同。原创 2024-06-10 15:18:43 · 1351 阅读 · 0 评论 -
C++---extern关键字的用法
extern声明:用来在其他文件中引用全局变量或对象。应用场景:在 MFC 应用程序中,通常用来引用继承自CWinApp的全局应用程序对象,以便在不同的模块中访问应用程序的全局状态和功能。原创 2024-06-10 15:06:52 · 261 阅读 · 0 评论 -
MFC---单文档应用程序框架(MFC应用程序框架)
在VS2010的使用介绍中已经讲了解决方案与工程的概念,这里再重提一下。每个应用程序都作为一个工程来处理,它包含了头文件、源文件和资源文件等,这些文件通过工程集中管理。在VS2010中,工程都是在解决方案管理之下的。一个解决方案可以管理多个工程,可以把解决方案理解为多个有关系或者没有关系的工程的集合。VS2010提供了一个Solution Explorer解决方案浏览器视图,可以显示当前解决方案的内容,当新建一个工程时可以选择新建一个解决方案还是加入当前解决方案。原创 2024-06-10 14:47:47 · 1263 阅读 · 0 评论 -
MFC--单文档接口(SDI)、多文档接口(MDI)、对话框进行创建的区别
SDI:适合简单应用程序,只有一个文档。MDI:适合复杂应用程序,可以同时打开多个文档。对话框应用程序:适合基于对话框的简单用户交互应用程序。创建每种类型的应用程序时,Visual Studio 2008都会生成相应的文件和目录结构,这些文件和类提供了实现相应功能的基础。理解每个文件的作用有助于开发和维护MFC应用程序。应用程序类:负责应用程序的初始化和主事件循环(MyApp.h 和 MyApp.cpp)。框架窗口类:负责窗口框架的创建和管理(MainFrm.h 和 MainFrm.cpp)。原创 2024-06-07 16:53:29 · 1316 阅读 · 0 评论 -
MFC---BCGControlBar使用方法
BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些类似于Microsoft Office 2000/XP/2003和Microsoft Visual Studio.NET的应用程序(用户工具栏、菜单、键盘等等)。BCGControlBar库包含了大约150多个经过精心设计,测试和具有完备文档的MFC扩展类。这些都可以很容易的应用于您的应用程序,节省大量的开发和调试时间。原创 2024-05-14 20:35:59 · 999 阅读 · 0 评论 -
MFC---界面库BCGControlBar
BCGControlBar是一个基于MFC的扩展库,您可以通过完全的用户化操作构成一些类似于Microsoft Office 2000/XP/2003和Microsoft Visual Studio.NET的应用程序(用户工具栏、菜单、键盘等等)。BCGControlBar库包含了大约150多个经过精心设计,测试和具有完备文档的MFC扩展类。这些都可以很容易的应用于您的应用程序,节省大量的开发和调试时间。原创 2024-05-14 19:24:25 · 219 阅读 · 0 评论 -
MFC---进程间的通信方式(WM_COPYDATA)
要给进程发数据,首先要拿到进程的窗口句柄,也就必须先拿到标题。原创 2024-04-02 21:58:05 · 195 阅读 · 0 评论