win32中使用MFC类库

能用, #include <afx.h>

在SDK程序中使用MFC中的辅助类
由于MFC中的辅助类,如CFileDialog,CFileFind,CString等使用起来非常的方便
如果用API来完成相应的工作,则需要自己完成大量的重复工作,使用MFC的辅助类
可以节省大量的开发时间,具体方法如下:

1.加入相应的头文件

由于在SDK程序中一定要包含windows.h头文件,所以在使用MFC中的类时,
如加入afx.h一类的头文件会有一个提示与windows.h相冲突,解决的办法是,
去掉windows.h,然后在所有的.h文件前加入

#include "stdafx.h"
#include <afxwin.h>        // MFC core and standard components
#include <afxext.h>        // MFC extensions
#include <afxdisp.h>        // MFC Automation classes
#include <afxdtctl.h>        // MFC support for Internet Explorer 4 Common Controls

#include <afxcmn.h>

注意一定要在所有的头文件之前加入这几行,而且顺序最好不要改变,否则会有大量的错误提示

2。 更改编译设置

在Project->Setting->General 中选Use MFC in a Shared DLL或者 Use MFC in static Library
并把project->Setting->C/C++ 中的Use runing-time library 由Single-Threaded改为相应的
Multithreaded

简单配置----增加工程选项 USING MFC 

时间: 2024-09-08 19:51:04

win32中使用MFC类库的相关文章

在WIN32 DLL中使用MFC库遇到的问题

今天写了一个DLL,DLL中用到的一个类里用到的MSXML的COM组件,所以在DLL中要包含afx.h头文件,也就不可避免的要用到MFC的类库了,但在编译时出现了错误:mfcs42d.lib(dllmodul.obj) : error LNK2005:_DllMain@12 already defined in NetDriverConfig.obj, 在http://topic.csdn.net/t/20010911/10/281452.html 处的贴子里找到了以下回答,试了一个原来是文件里

Win32 DLL和MFC DLL 中封装对话框

现在最常看见的关于DLL的问题就是如何在DLL中使用对话框,这是一个很普遍的关于如何在DLL中使用资源的问题.这里我们从Win32   DLL和MFC   DLL两个方面来分析并解决这个问题.           1.Win32   DLL               在Win32   DLL中使用对话框很简单,你只需要在你的DLL中添加对话框资源,而且可以在对话框上面设置你所需要的控件.然后使用DialogBox或者CreateDialog这两个函数(或相同作用的其它函数)来创建对话框,并定义

在WIN32 DLL中使用MFC

最近用WIN32 DLL,为了方便要用到MFC的一些库,又不想转工程,就网上找了很多方法,发现没有详细的介绍,有的也行不通,现在成功在WIN32 DLL中使用了MFC,记录一下以防以后用到忘记   一.修改预编译头文件(stdafx.h) 在stdafx.h文件中添加下面代码,包含一些MFC的头文件,这些可以在一个MFC工程中复制过来 1 #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将为显式的 2 3 #include

系统理解Win32 API和MFC(上)

Win32 API是微软的操作系统Windows提供给开发人员的编程接口,它决定了我们开发的Windows应用程序的能力.MFC是微软为开发人员提供的类库,在某种意义上是对Win32 API的封装.本文试图从全局角度对Win32 API和MFC进行理解──给出二者的概念模型. 本文使用UML描述概念模型.Win32 API本不是面向对象的,我用面向对象的观点去理解它,无非是想表达其全局. 本文参考了MSDN.相关书籍和网上的一些资料,在此一并感谢. 一.Win32 API的概念模型 Win32

MFC类库之CArray作为函数参数和返回值

一.获得返回值: 可以作为函数的一个参数 比如定义fun(CArray<int, int &> &array) 采用引用类型,就可以直接使用 二.作为函数参数: #include<Afxtempl.h> //定义函数. void ansnode(int num,CArray<double,double&> m_adX, CArray<double,double&> m_adY, CArray<double,double&

在vs2010中利用mfc写一个连连看游戏时各种资源窗口啥的等都报“未声明的标识符”问题

问题描述 在vs2010中利用mfc写一个连连看游戏时各种资源窗口啥的等都报"未声明的标识符"问题 10C 写这个连连看游戏刚开始导入各种资源文件改好ID后运行正常,但通过进一步的编程后不知道为什么开始报各种"未声明的标识符"bug(可能中途改了一些什么设置.....)现项目最近运行的log文件如下: 生成启动时间为 2016/5/26 17:37:08. 1>项目"C:UsersAliezdocumentsvisual studio 2010Pro

非MFC工程中使用MFC库

目录(?)[-] 需求说明 常见问题 问题分析 参考解决方法 我的解决方案 Stdafxh的原理     需求说明 C++工程的类型有很多,从VS(或VC)可以看到常见的有:Win32 Console Application.MFC Application.Win32 Project等.在创建MFC工程时,通过IDE的向导会自动帮我们创建相应的类文件和包含必需的头文件,但有时候我们需要在非MFC工程中包含MFC的库.至于为什么会有这个需要,为何不在一开始就创建MFC工程呢?可能有两种原因:1.在

mfc-visual c++中,MFC的消息映射宏背后的实现原理搞不明白?有谁能解释一下宏的知识。

问题描述 visual c++中,MFC的消息映射宏背后的实现原理搞不明白?有谁能解释一下宏的知识. BEGIN_MESSAGE_MAP() ...... ON_COMMAND() ........ END_MESSAGE_MAP() 这背后怎么执行,生成的,完全不知所云,只是想了解一下的原理,这样用是会用,但是不明不白 的,心里有些疑惑. 解决方案 MFC消息映射BEGIN_MESSAGE_MAP详解 解决方案二: MFC消息映射BEGIN_MESSAGE_MAP详解,我就是看的这个,http

如何“干净地”终止Win32中的应用程序

摘要 在理想环境中,某一进程可能会通过某种形式的进程间通信要求另一进程关闭.不过,如果你对希望其关闭的应用程序没有源代码级控制权,可能就没有办法做这样的选择.尽管没有哪种方法能保证"干净地"关闭 Win32 中的应用程序,但你可以采取一些步骤来确保应用程序使用最佳方法清除资源. 32 位进程(和 Windows 95 下的 16 位进程) 在 Win32 下,操作系统可保证在进程关闭时清除进程所拥有的资源.但是,这并不意味着进程本身将有机会对磁盘执行任何最后的信息刷新或通过远程连接执行