vs2008最简单的MFC对话框程序
来源:互联网 发布:mac ppt 页面设置 编辑:程序博客网 时间:2024/05/20 13:38
vs2008新建一个空的win32项目,工程设置使用MFC静态库
新建stdafx.h键入如下代码(这里我是从vs2008新建的mfc中拷贝过来的)
// stdafx.h : 标准系统包含文件的包含文件,// 或是经常使用但不常更改的// 特定于项目的包含文件#pragma once#ifndef _SECURE_ATL#define _SECURE_ATL 1#endif#ifndef VC_EXTRALEAN#define VC_EXTRALEAN // 从 Windows 头中排除极少使用的资料#endif#pragma once// 以下宏定义要求的最低平台。要求的最低平台// 是具有运行应用程序所需功能的 Windows、Internet Explorer 等产品的// 最早版本。通过在指定版本及更低版本的平台上启用所有可用的功能,宏可以// 正常工作。// 如果必须要针对低于以下指定版本的平台,请修改下列定义。// 有关不同平台对应值的最新信息,请参考 MSDN。#ifndef WINVER // 指定要求的最低平台是 Windows Vista。#define WINVER 0x0600 // 将此值更改为相应的值,以适用于 Windows 的其他版本。#endif#ifndef _WIN32_WINNT // 指定要求的最低平台是 Windows Vista。#define _WIN32_WINNT 0x0600 // 将此值更改为相应的值,以适用于 Windows 的其他版本。#endif#ifndef _WIN32_WINDOWS // 指定要求的最低平台是 Windows 98。#define _WIN32_WINDOWS 0x0410 // 将此值更改为适当的值,以适用于 Windows Me 或更高版本。#endif#ifndef _WIN32_IE // 指定要求的最低平台是 Internet Explorer 7.0。#define _WIN32_IE 0x0700 // 将此值更改为相应的值,以适用于 IE 的其他版本。#endif#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将是显式的// 关闭 MFC 对某些常见但经常可放心忽略的警告消息的隐藏#define _AFX_ALL_WARNINGS#include <afxwin.h> // MFC 核心组件和标准组件#include <afxext.h> // MFC 扩展#include <afxdisp.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#ifdef _UNICODE#if defined _M_IX86#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")#elif defined _M_IA64#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")#elif defined _M_X64#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")#else#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")#endif#endif
新建MFCTestDlg.rc的资源文件,插入一个对话框命名ID为IDD_DIALOG1(默认是这个不用修改,自动产生resource.h)
MFCTestDlg.h
#ifndef MFCTEST_HEAD #define MFCTEST_HEAD #pragma once#include "stdafx.h"#include "resource.h"// CMFC123Dlg 对话框class CMFCTestDlg : public CDialog{// 构造public:CMFCTestDlg(CWnd* pParent = NULL);// 标准构造函数// 对话框数据enum { IDD = IDD_DIALOG1 };protected:virtual void DoDataExchange(CDataExchange* pDX);// DDX/DDV 支持// 实现protected:HICON m_hIcon;// 生成的消息映射函数virtual BOOL OnInitDialog();afx_msg void OnPaint();DECLARE_MESSAGE_MAP()};#endif
MFCTestDlg.cpp
#include "stdafx.h"#include "MFCTestDlg.h"CMFCTestDlg::CMFCTestDlg(CWnd* pParent /*=NULL*/): CDialog(CMFCTestDlg::IDD, pParent){m_hIcon =::LoadIcon(NULL,MAKEINTRESOURCE(IDI_ERROR));}void CMFCTestDlg::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CMFCTestDlg, CDialog)ON_WM_PAINT()END_MESSAGE_MAP()BOOL CMFCTestDlg::OnInitDialog(){CDialog::OnInitDialog();// TODO: 在此添加额外的初始化代码SetIcon(m_hIcon, TRUE);// 设置大图标SetIcon(m_hIcon, FALSE);// 设置小图标return TRUE; // 除非将焦点设置到控件,否则返回 TRUE}void CMFCTestDlg::OnPaint(){CDialog::OnPaint();}
WinApp.h
#pragma once#include "stdafx.h"class CMFCTestApp : public CWinApp{public:CMFCTestApp();// 重写public:virtual BOOL InitInstance();// 实现DECLARE_MESSAGE_MAP()};extern CMFCTestApp theApp;
WinApp.cpp
#include "stdafx.h"#include "WinApp.h"#include "MFCTestDlg.h"CMFCTestApp::CMFCTestApp(){}BEGIN_MESSAGE_MAP(CMFCTestApp, CWinApp)END_MESSAGE_MAP()// 唯一的一个 CMFCTestApp 对象CMFCTestApp theApp;BOOL CMFCTestApp::InitInstance(){INITCOMMONCONTROLSEX InitCtrls;InitCtrls.dwSize = sizeof(InitCtrls);InitCtrls.dwICC = ICC_WIN95_CLASSES;InitCommonControlsEx(&InitCtrls);CWinApp::InitInstance();AfxEnableControlContainer();SetRegistryKey(_T("应用程序向导生成的本地应用程序"));CMFCTestDlg dlg;m_pMainWnd = &dlg;INT_PTR nResponse = dlg.DoModal();if (nResponse == IDOK){// TODO: 在此放置处理何时用// “确定”来关闭对话框的代码}else if (nResponse == IDCANCEL){// TODO: 在此放置处理何时用// “取消”来关闭对话框的代码}// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,// 而不是启动应用程序的消息泵。return FALSE;}
0 0
- vs2008最简单的MFC对话框程序
- vs2008最简单的MFC窗口程序
- 最简单的MFC程序
- 最简单的MFC程序
- 最简单的mfc程序
- MFC-最简单的MFC程序
- 一个最简单的MFC程序
- 一个最简单的MFC程序
- 最简单的MFC窗口程序
- vs2010最简单的MFC窗口程序
- Windows MFC编程之一 最简单的MFC程序
- MFC编程之最简单的MFC程序
- Windows MFC编程之一 最简单的MFC程序
- MFC-最简单的MFC程序 (转)
- MFC学习笔记一 最简单的MFC程序
- VS2008中MFC的对话框界面风格问题
- 登录对话框的建立(VS2008+MFC)
- 最简单的对话框
- Linux软连接和硬链接
- 集合共性
- iOS 圆形头像如何实现
- P121 12
- UTM Code 的用法
- vs2008最简单的MFC对话框程序
- arcgis最佳路径分析
- Complete Building the Houses
- 详解 Android 的 Activity 组件
- metasploit - post
- js时间戳和c#时间戳互转
- pthread_cleanup_push/pop
- 多线程
- 关于java发送email案例