vc 6.0打造单文档界面与多文档界面的编程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vc++6.0打造单文档界面与多文档界面的编程
VC++6中,可以利用MFC向导分别创建单文档和多文档界面的应用程序。有了这两种类型的应用程序,您就可以实现简单的记事本,写字本和WORD的功能了。
以下介绍一个在文档中输出一段文字,点击菜单项,输入文字内容按OK按钮后可以更改输出的文字。
1.首先,点击MFC向导,选择多文档视图类型,新建一个名为MdiDemo的工程。
2.新建一个对话框。上面放置一个Static控件和一个Edit控件,按CTRL+W,将Edit控件改成m_Caption.
3.新建一个类与对话框对应,如CDlgDemo类。
4.在菜单中,增加一项Demo,并增加菜单项Test.按
CTRL+W,并双击后,在消息的上面选择Doc,下面选择Command,双击就产生了对应的事件处理函数。
5.在MdiDemoDoc.cpp类中输入以下:
// DlgDemo.cpp : implementation file
//
#include "stdafx.h"
#include "MdiDemo.h"
#include "DlgDemo.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgDemo dialog
CDlgDemo::CDlgDemo(CWnd* pParent /*=NULL*/)
: CDialog(CDlgDemo::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgDemo)
m_Caption = _T("");
//}}AFX_DATA_INIT
}
void CDlgDemo::DoDataExchange(CDataExchange* pDX) {
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgDemo)
DDX_Text(pDX, IDC_EDIT1, m_Caption);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgDemo, CDialog)
//{{AFX_MSG_MAP(CDlgDemo)
// NOTE: the ClassWizard will add message map macros here
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgDemo message handlers
6.在MdiDemoView.cpp中输入以下内容:
// MdiDemoView.cpp : implementation of the CMdiDemoView class
//
#include "stdafx.h"
#include "MdiDemo.h"
#include "MdiDemoDoc.h"
#include "MdiDemoView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMdiDemoView
IMPLEMENT_DYNCREATE(CMdiDemoView, CView) BEGIN_MESSAGE_MAP(CMdiDemoView, CView)
//{{AFX_MSG_MAP(CMdiDemoView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT,
CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMdiDemoView construction/destruction CMdiDemoView::CMdiDemoView()
{
// TODO: add construction code here