手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何在控制台程序中使用MFC

时间:2024-10-20 19:29:10

1、修改项目属性,使项目能够使用MFC。单击菜单【调试】-【XXX 属性】,在弹出的对话框的左侧选择【高级】,然后在右侧【MFC 的使用】后选择【在共享DLL中使用MFC】。

如何在控制台程序中使用MFC
如何在控制台程序中使用MFC

2、添加并修改头文件,引入mfc类库。如图,添加一个头文件(这里取名为“usemfc.h”),修改为以下代码。#pragma once#include <SDKDDKVer.h>#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 部分 CString 构造函数将是显式的#define _AFX_NO_MFC_CONTROLS_IN_DIALOGS // 移除对话框中的 MFC 控件支持#ifndef VC_EXTRALEAN#define VC_EXTRALEAN // 从 Windows 头文件中排除极少使用的内容#endif#include <afx.h>#include <afxwin.h> // MFC 核心组件和标准组件#include <afxext.h> // MFC 扩展#ifndef _AFX_NO_OLE_SUPPORT#include <afxdtctl.h> // MFC 对 Internet Explorer 4 公共控件的支持#endif#ifndef _AFX_NO_AFXCMN_SUPPORT#include <afxcmn.h> // MFC 对 Windows 公共控件的支持#endif // _AFX_NO_AFXCMN_SUPPORT

如何在控制台程序中使用MFC
如何在控制台程序中使用MFC
如何在控制台程序中使用MFC

3、包含这个头文件后,你的项目就支持MFC了,这里我通过一个简单的程序演示效果。但是要注意,使用某些MFC功能时,需要初始化MFC,初始化方法如下面代码中黑体字所示。#include "usemfc.h"#include <iostream>using namespace std;int main(){ // MFC初始化 if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) return 1; CFileDialog dlg(TRUE); CString strPath; if (dlg.DoModal() == IDOK) { strPath = dlg.GetPathName(); cout << "您选择的文件:" << strPath << endl; } return 0;}

如何在控制台程序中使用MFC

4、测试效果如下图所示。

如何在控制台程序中使用MFC
如何在控制台程序中使用MFC
© 手抄报圈