手工生成(不用向导)MFC对话框应用程序

  天天用MFC的向导开发程序觉得有的时候不是很方便,怎样不用向导直接用MFC来生成一个对话框应用程序呢?现在我来为大家介绍一下。
打开vc++6.0,建立个基本的工程,当然了工程名称自己随便取,这里我取名为AppDlgTst。工程的类型选择Win32 Application,如下图:
 手工生成(不用向导)MFC对话框应用程序

    第二歩选择“An empty project”,一个空的工程,如下图:
 手工生成(不用向导)MFC对话框应用程序
点击“完成”,再“确定”,建立一个win32工程。
接下来,给工程添加主程序类。
主菜单(insert->NewClass),打开“New Class”对话框。
新建一个类,Name: CWinAppDlg ,Derived From :CWinApp,as:public。
点击“Change…”按钮,修改类文件的路径,把类文件放到新建的工程目录下。
界面如下:
 手工生成(不用向导)MFC对话框应用程序
点击“OK”,会出现如下提示框:
 手工生成(不用向导)MFC对话框应用程序
不用管它,确定。
这是一个基本的应用程序类,就这样建成了。
    接下来,我们需要手动添加一个对话框,添加方法如下:
依次点击主菜单的“insert”→“resource…”,打开insert resource对话框。
 手工生成(不用向导)MFC对话框应用程序
选中“Dialog”,点击“New”按钮,一个对话框就添加到你的工程中了。如下图:
 手工生成(不用向导)MFC对话框应用程序
对话框添加了,但工程中相应的资源管理器(ResourceView)还没有出现,无法操作添加的对话框。
关闭工作区,此时系统会提示是否保存资源文件?如下图:
 手工生成(不用向导)MFC对话框应用程序
点击“是”,保存资源文件为“script.rc”,保存,如下图。
 手工生成(不用向导)MFC对话框应用程序
重新打开工程,但左侧的工程管理栏内仍然没有“resourceView”页,怎么办?把刚才保存的资源文件添加到工程即可,操作如下:
依次点击主菜单“project”→“add project”→“Files…”,打开“Insert Files into Project”对话框,找到刚才退出工程时保存的资源文件“Script.rc”,选中它,点击“保存”。
再看看工程管理栏,resourceView页出现啦!
切换到对话框页面,对准对话框点右键,选择“Class Wizard”,弹出如下对话框:
 手工生成(不用向导)MFC对话框应用程序
点击“是”,弹出“Select Source Files-Script.clw”对话框,如下图:
 手工生成(不用向导)MFC对话框应用程序
点击“Add All”按钮,再按OK,出现另一个对话框:
 手工生成(不用向导)MFC对话框应用程序
OK,出现“New Class”对话框,添加一个“CDlgTst”类,OK。如下图:
 手工生成(不用向导)MFC对话框应用程序
对话框资源及其类添加完毕,还需添加必要的头文件。
在“DlgTst.h”文件的顶部添加资源ID定义头文件,如下:
#include "resource.h"     // 手动添加
在“Dlg.cpp”文件的顶部添加和修改头文件,如下:
//#include "stdafx.h"     // 系统自动添加的,去掉
#include <afxWin.h>      // 手动添加
//#include "script.h"     // 系统自动添加的,mfc的bug,去掉
#include "winAppDlg.h"     // 替换上一句。此处应包含继承自CWinApp的那个主程序类头文件
#include "DlgTst.h"
至此,新添加的主对话框模块已经全部完成。接下来,就是如何显示主对话框的问题了。
在CWinAppDlg类的定义体(winAppDlg.h头文件内)里添加如下代码:
 BOOL InitInstance();     // 重载初始化函数
在“WinAppDlg.cpp”文件头部添加两个头文件:
#include <afxwin.h>     // 手动添加mfc头文件
#include "DlgTst.h"     // 加入对话框类头文件
在“WinAppDlg.cpp”文件底部添加应用程序初始化函数体,如下:
BOOL CWinAppDlg::InitInstance()
{
 CDlgTst  myDlg;
 m_pMainWnd = &myDlg;   // 将对话框类对象指定为主窗口
 myDlg.DoModal();     // 以模态方式显示主对话框
 return TRUE;
}
在“WinAppDlg.cpp”文件底部添加应用程序实例CWinAppDlg theApp。这一步很重要,不要忘记哦。
这时你编译程序,会出现如下的错误:
 手工生成(不用向导)MFC对话框应用程序
不要慌,这是因为你没有把MFC的链接库包含进来的缘故。只要你在主菜单project->setting->general->micrsoft foundation classes 中选择“Use MFC in a static Library”这时你在编译程序就可以了,直接运行程序看看吧,如下图:
 手工生成(不用向导)MFC对话框应用程序
  其实做什么事情都是很简单的,只要你心静,有耐心,毕竟写程序不是个好活,如果没有这些的话,你做任何事情也是不成功的,也间接的说明你永远成不了气候。这个程序只是个应用程序运行的框架而已,你可以继续往里面添加东西,就看你的想象了,包括添加工具栏,状态栏等等吧,(当然了添加这些你必须定义一个框架类的子类)