首页
学习
活动
专区
圈层
工具
发布

MFC原理第一讲.MFC的本质.以及手工编写MFC的程序

MFC原理第一讲.MFC的本质.以及手工编写MFC的程序 PS: 这个博客属于复习知识.从头开始讲解....在写这篇博客之前.已经写了3篇MFC的本质了.不过掌握知识点太多.所以从简重新开始. 一丶MFC的本质是什么.   MFC的本质其实就是Win32程序的一种封装....二丶手工编写一个MFC程序.   手工编写MFC程序.需要熟悉两个类   一个是CWinAPP,一个是CFramWnd类. 这两个类的作用.   ...总结:     CWinAPP 这个类就是与程序有关.与窗口无关.并且保存数据和动作的一个类.   CFrameWnd 这个类就是与窗口有关的一个类. 管理窗口的....四丶带着疑问学习   疑问:     1.不是说MFC是对Win32程序的封装吗.但我们很简单的就创建除了窗口.那么Winmain在哪里.     2.消息处理在哪里. 以上疑问我们会慢慢讲到.

3.1K40

MFC Windows 程序设计->GetDeviceCaps

只有设置驱动程序在RASTERCAPS索引中设置了RC_PALETTE,该参数才有效。 · NUMRESERVER 系统调色板的保留的入口数。...只有设置驱动程序在RASTERCAPS索引中设置了RC_PALETTE,该参数才有效。 · COLORRES 设备实际的颜色分辨率,用位/像素表示。...只有设置驱动程序在RASTERCAPS索引中设置了RC_PALETTE,该参数才有效。 · RASTERCAPS 表示设备光栅能力的值。...如果此位没有设置打印驱动程序。GDI将通过两次打印的方法创建粗体的设备字体 TC_IA_ABLE 支持斜体字符,设备字体可设置为斜体。...这对矢量设备很重要(如绘图机),显示程序(它们必须使用光栅字体)和光栅打印驱动程序列举矢量字体,因为GDI在将矢量字体送到驱动程序之前要将其进行光栅处理 TC_RESERVED 反转,必须设置为0 说明

39610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MFC Windows 程序设计->消息反射

    注意:可以使用MFC的ClassWizard作上述动作,在ClassWizard中,可处理的反射消息以一个"="号以示区别。...限于篇幅,一些细节问题,请阅读MFC中对应的源代码   什么是消息反射?   ...我们可以想象,如果这些消息都让父窗口类去做,父窗口就成了一个万能的神,一个臃肿不堪的代码机,无论如何消息的处理都集中在父窗口类中,会使父窗口繁重无比,但是子控件却无事可做,并且代码也无法重用,这对于一个程序员来讲是多么痛苦的一件事...所以在高版本的MFC中,提出了一种更方便的机制:消息反射。   ...不过需要注意的是:消息反射是MFC实现的,不是windows实现的;要让你的消息反射机制工作,你得类必须从CWnd类派生。

    40110

    MFC 思考:MFC是否没落了

    MFC相对于如今众多林立的开发语言中算是比较老的了,但是至今MFC仍然还有很多人使用,就本人观点来看MFC相对于一些其他语言确实存在很多令人诟病的地方。...(1)MFC基于c/c++书写代码很多时候要比C#、VB、java代码要多,虽然这样确实比较灵活,但是对于当今高效率开发时代,书写更少代码实现更多功能是目前大势所趋 (2)MFC难学不易懂,MFC需要有...当然还有很多地方MFC存在毛病,但不是一无是处,也有很多优点,不过就现在看来优点再多面对现在高效率开发时代也是很难走下去,个人建议想用MFC开发程序的人还是慎重考虑,能学其他语言就不要学MFC。...第3种观点 MFC开发的程序运行效率高 MFC主要用来开发客户端程序,这里应该是跟C#对比,C#以前是托管程序,现在C#开发的Windows程序已经能编译成native了,运行效率提高了1.6倍左右吧...为什么还有很多刚毕业的大学生学习MFC? 因为他们的老师是上面所说的那些人。 MFC总有适合用的地方吧? 有,适合用在上世纪90年代开发Windows客户端程序。

    51010

    【Visual Studio 2019】创建 MFC 桌面程序 ( 安装 MFC 开发组件 | 创建 MFC 应用 | MFC 应用窗口编辑 | 为按钮添加点击事件 | 修改按钮文字 | 打开应用 )

    文章目录 一、安装 MFC 开发组件 二、创建 MFC 应用 三、MFC 应用窗口编辑 四、为按钮添加点击事件 五、修改按钮文字 六、打开系统其它应用 七、博客源码 一、安装 MFC 开发组件 ----...应用 ---- 在 Visual Studio 2019 环境界面中 , 选择 " 创建新项目(N) " , 选择 " Windows 桌面应用程序 " 下的 " MFC 应用 " , 输入相关配置..., 项目名称 , 存储路径 , 点击 " 创建 " 按钮 ; 应用程序类型选择 " 基于对话框 " , 基于对话框的选项设置为 无 ; 其它配置选择默认即可 , 也可以选择其它的配置 , 这里直接点击..." 完成 " 按钮 ; 系统自动生成 MFC 程序如下 : 点击 " 本地 Windows 调试器 " 按钮 , 运行该程序 : 三、MFC 应用窗口编辑 ---- 双击 " 资源文件 " 中的...Unicode 编码格式的字符串 “Hello World” ; void CMFCHelloWorldDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码

    11K41

    Windows程序设计:MFC 、Winform 和 WPF 比较

    WPF是一种新的模型,不再使用win32模型,自己新建模型,使用dx作为新的显示技术,直接访问驱动程序,加快了运行速度,可是,这种模型,需要支持dx9的显卡,硬件要求高(你还能找到现代机器不支持dx9的吗...开发效率上,MFC < WPF < WinForm 尽管MFC开发界面执行效率高但是开发效率低,作为现在的项目开发来说时间跟开发效率往往能决定项目的成败,所以除非有特别的需求,否则都回尽量避免用MFC来做开发...,MFC只是一个弱封装器。...WPF两者会并存发展,但最终都会被WPF取代,最终实现桌面应用程序和浏览器应用程序的统一。...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128914.html原文链接:https://javaforall.cn

    2.8K20

    mfc wpf winform(工业用mfc还是qt)

    与C#中的WPF又有点类似 MFC与WinForm 前面讲了这四个框架都是简化的两层的MVC模式.MFC中数据的逻辑处理自然是放后缀为h,cpp的这些文件中.而页面相关的那一堆东东放资源文件rc后缀的文件中...WinForm中也遗留了MFC一些思想,比如还有类似资源文件的东东,像Resources.resx文件,里面一般是放图片信息,然后Setting.settings就类似MFC里的string table...窗口中每一个控件都有一个name,相当于mfc中的资源ID吧,然后你在代码中调用控件时直接用这个名字就行,就相当于一个变量名字.所以代码与UI交互起来非常方便,另外MFC中的消息机制在这里被封装成了事件...QT与WPF 同为C++的GUI框架,QT与MFC不那么相似,那种逻辑反而更接近C#的wpf框架一点.首先不是所有UI相关代码都像MFC一样整到一个rc文件,而是一个UI页面有对应一个后缀为ui的的xml...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/128666.html原文链接:https://javaforall.cn

    3.1K10

    MFC DLL编写MFC调用全面研究报告

    MFC DLL导出函数有两种方法,第一就是__declspec(dllexport),第2种就是def文件,全面研究报告结论,我们应该少用def文件,而应该用__declspec(dllexport)。...用法)调用成功 (2)win32 DLL导出函数用def填写,静态加载(用#pragama+__declspec(dllimport)用法)无法调用,动态加载(LoadLibrary)调用成功 (3)MFC...共享DLL只要在名前面加一个__declspec(dllexport),类方法不用加,静态加载调用成功 (4)MFC 共享DLL如果不在类名前面加了一个__declspec(dllexport),情况很复杂...dllexport)调用加__declspec(dllexport)的函数成功 (e)有构造函数和析构函数情况下,所有函数(含构造函数和析构函数)加__declspec(dllexport)会调用成功 (5)MFC...共享DLL只通过def文件导出函数,发现无论有无构造或者析构函数,调用或者本身都会出错 结论:MFC导出类有3种方法推荐,第一只要在名前面加一个__declspec(dllexport),第二在所有函数包含构造后析构函数加

    17310

    初识mfc

    今天主要了解了Visual C++的开发环境Visual Studio(话说以前都是用来调试控制台程序的)和用mfc写了一个最简单的程序。   ...目前微软大力推广的开发环境就是vs,它的集成度相当高,方便程序员进行开发工作。vs就不说了。来说说如何建立一个最简单的mfc程序。...首先新建项目->输入项目名Hello,然后对程序进行一些属性设置.   ...第一步应用程序类型类型选择为:基于对话框,然后项目类型选择为MFC然后点完成,一个简单的对话框程序框架就完成了.现在已经有了一个可运行的应用程序框架,接下来要做的就是设计程序的窗口.为什么说是用mfc写的程序呢...因为mfc是一系列的c++类,他们包含了绝大多数与windows操作系统交互的编程功能,就是说别人已经预先写好了,我们自需要拿来用即可.

    2.3K30

    mfc可视化界面_mfc界面开发

    亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v32.2正式发布!...新版本改进的功能区和框架标题命令搜索、带有可选复选框的网格日期选择器、带有标签的功能区滑块等,需要最新版的可以点击这里【BCG下载】 BCGControlBar Pro for MFC v32.2正式版下载...由于搜索框现在可以位于框架上,因此您可以为non-Ribbon-based的应用程序启用它(启用框架标题栏的基于工具栏/菜单的应用程序)。...对于这种应用程序,框架会扫描所有工具栏和菜单栏以寻找最佳匹配,并在下拉菜单中显示搜索结果。...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184624.html原文链接:https://javaforall.cn

    4.6K20
    领券