mfc和win32区别】的更多相关文章

Win32通常是指sdk编程方法,app没有被封装,开发人员需要自己搭程序框架:mfC则是以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量 (整理自CSDN,http://topic.csdn.net/u/20090611/20/a0532864-3890-4a67-b649-ecbf31d4fc70.html,感谢各位的智慧,学习了) MFC就是 微软给你包装了的库,提供了很多扩展功能,以及高级功能,这样方便你使用,而不是自己从头调用API…
转载  https://www.cnblogs.com/forever5325/p/9597649.html QT使用的编译器是MinGW,即Linux下的GCC移植到windows的版本:MFC使用的编译器是Visual C++QT的应用主要在Linux下,但是它本身是跨平台的,也支持其他操作系统,是现在比较著名的界面库,著名的KDE就是使用QT开发的.MFC是提供给VC的,但是它主要是代码库,不像VCL和编译器挂钩很多,但是MFC主要是对windows API的封装,所以只能用于window…
ATL用于编写COM程序,CLR是.NET的公共语言运行库,MFC是指MFC类库,MFC程序是用这些类库做出的程序,WIN32常规就是不用MFC,使用API函数编的程序.MFC.ATL和CLR是VC2005内置的3大库,涵盖了windows的各种开发方法和开发应用.当然关于C++开发的库不止这3个,不过这3个是微软推荐.从编程所处层次而言,WIN32为最底层,其次是MFC.然后是CLR.WIN32 winAPI MFC MFC类库 CLR .net库 1. WIN32常规就是不用MFC,使用AP…
win32项目是一个底层的窗口的实现过程,它采用的库仅仅是windows.h,我们通过winain作为函数的入口,然后经过窗口类的内容的填写,窗口的注册,创建,显示刷新,到最后的消息循环,这是一个win32项目的基本流程. #include LRESULT CALLBACK myWndProc(HWND hWindow, UINT msg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTAN…
一.MessageBox()用法 1.函数原型 Messagebox函数在Win32 API和MFC里的定义有区别. Win32 API的定义如下: int WINAPI MessageBox(      HWND hWnd,          // handle of owner window      LPCTSTR lpText,     // address of text in message box      LPCTSTR lpCaption, // address of titl…
背景 Visual Studio C++ 创建新项目蹦出来如下选项: Win32控制台应用程序,Win32项目,MFC有什么区别? 正文: Win32控制台,没有界面,命令行执行生成的文件则直接在后台运行,运行效果如下:生成的“.exe”文件相当于Linux系统下用gcc编译出来一个“.out”文件,直接运行操作即可,只有命令符,没有界面. Win32项目这个就有界面了,但是界面里面的控件,基本上要自己去实现. MFC项目这个也有界面,可是界面里面的控件就不需要自己实现了,常用的控件都已经在MF…
注:引用来源 http://wenda.chinabaike.com/b/30934/2013/1208/707410.html QT使用的编译器是MinGW,即Linux下的GCC移植到windows的版本:MFC使用的编译器是Visual C++ QT的应用主要在Linux下,但是它本身是跨平台的,也支持其他操作系统,是现在比较著名的界面库,著名的KDE就是使用QT开发的.MFC是提供给VC的,但是它主要是代码库,不像VCL和编译器挂钩很多,但是MFC主要是对windows API的封装,所…
如果用MFC的话,请尽量使用afxmessagebox,因为这个全局的对话框最安全,也最方便.    但是在WIN32 SDK的情况下只能使用MESSAGEBOX. MessageBox()是Win32API函数.后者是mfc中的全局函数.在MFC中能用MessageBox()的地方都能用AfxMessageBox(). afxmessagebox更多的时候是用于调试AfxMessageBox 比 MessageBox 方便!    MessageBox 比 AfxMessageBox 灵活(如…
引用:http://www.cnblogs.com/chinazhangjie/archive/2011/09/20/2181986.html 正文: 第一讲 Win32 App  和  MFC Framework Win32 App 程序生与死:(1)注册窗口(2)创建窗口(3)显示并更新窗口(4)消息循环( WM_QUIT 结束循环)(5)退出 实例代码: #include <windows.h> ATOM RegisterWndClass( HINSTANCE hInstance , L…
我们在做程序设计时界面与功能,那个更加吸引用户的兴趣呢?这是一个很难回答的问题.拥有美丽的外观,软件就成功了一半.界面由控件.工具栏.菜单.窗体等元素组成,对他们进行美化就能得到一个美丽的界面. 目前界面编程技术包括MFC.win32 SDK .CJLibrary.WTL以及一些界面开发包.文本介绍MFC界面编程技术. 一.控件自绘 控件的生成包括静态控件和动态控件的生成.动态控件是在应用程序运行过程中临时产生的.所以在进行动态控件的自绘时,方法比自绘静态控件复杂些.应该考虑控件的大小.宽高等.…
1.MFC 的概念 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量.其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类. MFC除了是一个类库以外,还是一个框架,在vc++里新建一个MFC的工程,开发环境会自动帮你产生许多文件,同时它使用了mfcxx.dl…
最近有一项关于MFC的任务,做完后总结了一些使用的函数,希望对大家有帮助,也是怕自己忘了所以就写了这篇博客,方便后续的工作. 1,FindWindow() 获得窗口句柄: 2,GetWindowRect() 获得窗口大小: 3, MoveWindow() 移动窗口的位置,并且设置窗口大小: 4, GetDlgItem() 获得某个控件的指针: 5, GetDestopWindow() 获取桌面句柄: 6, GetWindow() 已知一个窗口获取与其相关的其他窗口: 7, GetNextWind…
1,windows编程模型如下图: 2, windows的消息有成百上千种,以下列举10个: 3,消息处理函数的四个参数:窗口句柄(表示消息属于哪个窗口,32值.该窗口句柄引用一个数据结构,数据结构存储窗口的大小,风格,在屏幕的位置等信息).消息ID.wParam.lParam.后两个存储消息的信息. 4,m_开头表示成员变量. 5,API程序和MFC程序的区别: 6,MFC的文档/视图体系结构很重要,想要用MFC的高级特性就必须掌握这些.从第9章开始接触这个. 7,MFC类的分层结构: COb…
近期学习了MFC的相关知识,MFC(Microsoft Foundation Classes)是微软公司提供的一个类库,可以这样简单理解,就是对于Win32的封装(MFC对windows API函数的封装),但是MFC主要还是引入面向对象的开发思维,即一切用对象进行调用,我认为对巩固C++面向对象的思维有很大的帮助,所以进行了学习.并且开发了一个具有简单功能的截图工具,因为之前学习过一段时间的WIn32知识,所以在接下来的叙述中,主要以 对比Win32和C++的相关思想 为介入点进行介绍. MF…
最近用了一段时间Qt,觉得网上这篇文章讲述Qt与MFC之间的区别很到位,分享一下. ----------------------------------原文---------------------------------------------------- 我曾经使用过QT和MFC来开发过软件,我想和大家分享我使用他们时所体会的不同之处. 我并非一个职业作家,这篇文章可能看起来不如专业的杂志和网站上的那么条理清晰.但是,我在这里是用我自己的语言来表达我自己的经验,希望能和你分享.英语比不是我…
第一步:创建一个要调用的类库 如果是MFC程序使用,可以创建一个MFC的类库,不过依然可以创建一个win32类库.我所知道的,MFC的类库可以分为常规MFC DLL和MFC扩展DLL关于它们之间的区别可以看这篇文章.https://blog.csdn.net/tgftd/article/details/53691006关于win32DLL和MFC DLL 的区别可以看这篇文章https://blog.csdn.net/mangobar/article/details/54573947我这里是创建…
用VS2017创建EXE带MFC类库方法 1. File --> New --> Project 2. Windows桌面向导 3. 勾选MFC类库 4. 创建成功 如果项目编译出错 1. 项目创建成功后编译报错界面 原因分析:缺少#include <afxwin.h>头文件. 解决方案:在#include "Project1.h"后面添加#include <afxwin.h>,编译通过. 如果上述方法不行,可参考下面解决方法,否则跳过以下内容. 原…
http://www.cnblogs.com/lzmfywz/archive/2012/03/15/2399403.html 一.MFC类库概述 MFC(Microsoft Foundation class)微软基本类(库),有时候也有人叫做微软基本类库,因为它确实是一个类库(物理上讲),而且非常庞大:它也是一个面向对象的应用程序架构(逻辑上),程序员利用它可以很方便搭建应用程序框架.MFC结合了面向对象的编程技术和WINDOWS消息驱动的编程技术,并封装了WIN32API,其设计好处:消除了W…
转载请注明来源:http://www.cnblogs.com/xuesongshu/ 1.新建MFC或者Win32工程,全部使用默认设置 2.设置工程属性,展开配置属性,转到:常规~MFC的使用,修改其值,选择“在静态库中使用MFC”(对应MFC工程)或者“使用标准Windows库”(对应Win32工程) 3.设置工程属性,展开配置属性,转到:常规~ATL的使用,修改其值,选择“静态链接到ATL” 4.设置工程属性,展开配置属性,转到:C/C++~代码生成~运行库,修改其值,选择“多线程(/MT…
WINDOWS下展示OpenGL有多种形式: MFC 或 win32,该如何向MFC中添加OpenGL?下面是介绍最简单OpenGL框架. 1.首先通过VS建立MFC应用程序-MyOpenGL,选择单文档结构视图. 2.添加控制台窗体,帮助输出调试信息. CMyOpenGLView.cpp添加头文件 #include <conio.h> #include <iostream> #include <fcntl.h> #include <io.h> CMyOpe…
一.Windows对象和MFC对象的区别?MFC对象实际上并没有把整个Windows对象都包装在其中.对于窗口:MFC对象它只是有一个窗口句柄而已,这个窗口句柄如果指向一个实际存在的窗口对象(窗口对象,也就是WNDCLASS,是一个Windows对象),那么这个MFC对象就是有效的,否则这个MFC对象是空的.如果你还不明白,请回忆一下,当我们使用MFC创建一个窗口时,是分两步进行的:第一步,new一个CWnd对象,这一步是创建MFC对象,但是其中的HWND还是非法的,因为对应的Windows对象…
VC++:创建,调用Win32动态链接库 概述 DLL(Dynamic Linkable Library)动态链接库,Dll可以看作一种仓库,仓库中包含了可以直接使用的变量,函数或类.仓库的发展史经历了"无库" ---> "静态链接库"  ---> "动态链接库".静态链接库与动态链接库都能实现共享代码,如果使用静态链接库,编译后lib中的指令会被包含在生成的EXE文件中,如果使用动态链接库,则不会被包含到EXE文件中,EXE文件执行…
概述 DLL(Dynamic Linkable Library)动态链接库,Dll可以看作一种仓库,仓库中包含了可以直接使用的变量,函数或类. 仓库的发展史经历了"无库" ---> "静态链接库"  ---> "动态链接库". 静态链接库与动态链接库都能实现共享代码,如果使用静态链接库,编译后lib中的指令会被包含在生成的EXE文件中,如果使用动态链接库,则不会被包含到EXE文件中,EXE文件执行时动态加载和卸载dll文件. 库的分类…
概述 DLL(Dynamic Linkable Library)动态链接库,Dll可以看作一种仓库,仓库中包含了可以直接使用的变量,函数或类. 仓库的发展史经历了"无库" ---> "静态链接库"  ---> "动态链接库". 静态链接库与动态链接库都能实现共享代码,如果使用静态链接库,编译后lib中的指令会被包含在生成的EXE文件中,如果使用动态链接库,则不会被包含到EXE文件中,EXE文件执行时动态加载和卸载dll文件. 库的分类…
一.添加消息 MFC和win32不同的一点是MFC采用的是消息的映射机制,即每一个消息都和处理的函数做了映射,我们可以通过查找的方式来得到消息的对应的函数,当然MFC提供了一个非常简便的方法,我们通过类视图点击xxxdlg类的属性可以看到以下 //在头文件还要声明一个消息宏 BEGIN_MESSAGE_MAP(CDialogDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_WM_LBUTTONDOW…
最近重温<MFC Windows应用程序设计>第二版这本书,里面的代码全部是使用VC6.0写的,我Win7下安装的是VS2008开发环境. VC2008下添加和删除常见的消息响应函数有两种方法:自动和手动.      一.VC2008中自动添加消息响应函数 举一个<MFC Windows应用程序设计>的MFC单文档应用程序的例子,如下: 例4-9  设计一个利用CClientDC绘图,在窗口单击鼠标左键之后,在窗口的用户区出现一个菱形的应用程序. (1)  在MFC AppWiza…
C++ & MFC(转载)   C++是一种静态数据类型检查的.支持多重编程范式的程序设计语言,支持过程化程序设计.数据抽象.面向对象程序设计.制作图标等泛型程序设计的多种程序设计风格. MFC(Microsoft Foundation Classes),是一个微软公司提供的类库,以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量,同VCL类似,是一种应用程序框架.其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件…
上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑帮我们理解了Windows中的各种类型C/C++运行时库及它的来龙去脉,这是C++开发中特别容易误入歧途的一个地方,我们对它进行了总结和归纳.本篇文章我们将继续讲解C++开发中容易混淆的另一个概念——多字节字符集与Unicode字符集. 多字节字符与宽字节字符 char与wchar_t 我们知道C++基本数据类型中表示字符的有两种:char.wchar_t. char叫多字节字符,一个char占一个字节…
多字节字符与宽字节字符 1) char与wchar_t 我们知道C++基本数据类型中表示字符的有两种:char.wchar_t. char叫多字节字符,一个char占一个字节,之所以叫多字节字符是因为它表示一个字时可能是一个字节也可能是多个字节.一个英文字符(如’s’)用一个char(一个字节)表示,一个中文汉字(如’中’)用3个char(三个字节)表示,看下面的例子. void TestChar() { char ch1 = 's'; // 正确 cout << "ch1:&quo…
1. 多字节字符与单字节字符 char与wchar_t 我们知道C++基本数据类型中表示字符的有两种:char.wchar_t.  char叫多字节字符,一个char占一个字节,之所以叫多字节字符是因为它表示一个字时可能是一个字节也可能是多个字节.一个英文字符(如’s’)用一个char(一个字节)表示,一个中文汉字(如’中’)用3个char(三个字节)表示. wchar_t被称为宽字符,一个wchar_t占2个字节.之所以叫宽字符是因为所有的字都要用两个字节(即一个wchar_t)来表示,不管是…