文档章节

在Win32应用程序中使用MFC类库(转)

Amamatthew
 Amamatthew
发布于 2014/06/23 14:41
字数 310
阅读 671
收藏 3

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

1.加入相应的头文件

由于在SDK程序中一定要包含windows.h头文件,所以在使用MFC中的类的时候,如加入afx.h一类的头文件会有一个提示:

fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>

windows.h相冲突,解决的办法是,去掉windows.h。然后在所有的.h 文件前加入#include "stdafx.h"

#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#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
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT

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

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


本文转载自:http://wenku.baidu.com/link?url=uRxdERskgTqf8iT6pYm7ru4ltl4-kwageiIWUe1u8z-fQCuoCV2DwNzQInTFMjqtQ...

共有 人打赏支持
Amamatthew
粉丝 67
博文 1050
码字总数 76443
作品 0
厦门
后端工程师
vc++windows编程技术(3)

从一开始就有两种编写windows应用程序的方法。第一种是使用win32定义的API函数,体现细节好。另一种是使用特殊的c++类库,它囊括了API,目前最流行的是MFC。两种方法的区别:所有windows应用...

mli
2014/10/23
0
2
vc++windows编程技术(2)

2.1结构概貌 visual c++中集成了Microsoft公司为c++编写的类库,取名为MFC。visual studio。net IDE 以。net framework为基础。 支持跨语言集成是。net的一大特色。在.NET中,代码分为manag...

mli
2014/10/23
0
0
MFC、SDK和API有什么区别

MFC、SDK和API有什么区别 MFC Microsoft Foundation Class 微软函数类库 SDK (Software Development Kit,软件开发包) 软件开发包通常是一系列API函数,而MFC 是由微软公司提供的对API封装...

huanongkou
2013/03/20
0
0
Microsoft Visual C++ 6.0 各类工程配置说明

基于 对话 框( / 单 文档 / 多文档)的 MFC 程序 #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common #include <afxwin.h> // MFC core and standard components #inclu......

晨曦之光
2012/03/09
0
0
【C#每日一帖】【转】C#与C++的区别

没有什么语言能比C++更加贴近Windows本身了,这一点也是不可否认的。如果哪一天C#也能写驱动的时候,那么C++就真的会淘汰了(这天可能不会太远又或者很遥远)。 C#能做的,C++不一定都能做,C...

c_o_d_e_r
2011/07/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

TypeScript基础入门之JSX(一)

转发 TypeScript基础入门之JSX(一) 介绍 JSX是一种可嵌入的类似XML的语法。 它旨在转换为有效的JavaScript,尽管该转换的语义是特定于实现的。 JSX在React框架中越来越受欢迎,但此后也看到了...

durban
19分钟前
0
0
JavaScript使用原型判断对象类型

1. constructor属性 在JavaScript创建对象(二)——构造函数模式中,我们说过可以使用对象的constructor属性判断对象的类型:p1.constructor === Person,可能当时就有细心的读者会想,我们...

Bob2100
21分钟前
1
0
10-《深度拆解JVM》JVM是怎么实现invokedynamic的?(下)

一、问题引入 上回讲到,为了让所有的动物都能参加赛马,Java 7 引入了 invokedynamic 机制,允许调用任意类的“赛跑”方法。不过,我们并没有讲解 invokedynamic,而是深入地探讨了它所依赖...

飞鱼说编程
41分钟前
2
0
457. Circular Array Loop

Description Difficulty : Medium You are given an array of positive and negative integers. If a number n at an index is positive, then move forward n steps. Conversely, if it's n......

52iSilence7
57分钟前
1
0
MySQL SQL 常见用法

某字段重复记录 select a.fieldA from tableA a group by a.fieldA having count(a.fieldA)>1;==select * from (select a.fieldA, count(1) as faCount from tableA a group......

园领T
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部