vc6.0打造单文档界面与多文档界面的编程_第1页
vc6.0打造单文档界面与多文档界面的编程_第2页
vc6.0打造单文档界面与多文档界面的编程_第3页
vc6.0打造单文档界面与多文档界面的编程_第4页
vc6.0打造单文档界面与多文档界面的编程_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、vc+6.0 打造单文档界面与多文档界面的编程VC+6 中,可以利用 MFC 向导分别创建单文档和多文 档界面的应用程序。有了这两种类型的应用程序,您就可以 实现简单的记事本,写字本和 WORD 的功能了。以下介绍一个在文档中输出一段文字,点击菜单项,输入 文字内容按 OK 按钮后可以更改输出的文字。1. 首先,点击 MFC 向导,选择多文档视图类型,新建一个 名为 MdiDemo 的工程。2. 新建一个对话框。上面放置一个 Static 控件和一个 Edit 控 件,按 CTRL+W ,将 Edit 控件改成 m_Caption.3. 新建一个类与对话框对应,如 CDlgDemo 类。4.

2、在菜单中,增加一项 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 / CDlgD

3、emo dialogCDlgDemo:CDlgDemo(CWnd* pParent /*=NULL*/): CDialog(CDlgDemo:IDD, pParent)/AFX_DATA_INIT(CDlgDemo) m_Caption = _T();/AFX_DATA_INITvoid CDlgDemo:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CDlgDemo)DDX_Text(pDX, IDC_EDIT1, m_Caption); /AFX_DATA_MAPBEGIN_MES

4、SAGE_MAP(CDlgDemo, CDialog)/AFX_MSG_MAP(CDlgDemo)/ NOTE: the ClassWizard will add message map macros here/AFX_MSG_MAPEND_MESSAGE_MAP()/ CDlgDemo message handlers6. 在 MdiDemoView.cpp 中输入以下内容:/ MdiDemoView.cpp : implementation of theCMdiDemoView class/#include stdafx.h#include MdiDemo.h#include MdiDem

5、oDoc.h#include MdiDemoView.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMdiDemoViewIMPLEMENT_DYNCREATE(CMdiDemoView, CView)BEGIN_MESSAGE_MAP(CMdiDemoView, CView)/AFX_MSG_MAP(CMdiDemoView)/ NOTE - the ClassWizard will add and remove mapping macros here./D

6、O NOT EDIT what you see in these blocks ofgenerated code!/AFX_MSG_MAP/ Standard printing commandsON_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/destr

7、uctionCMdiDemoView:CMdiDemoView()/ TODO: add construction code hereCMdiDemoView:CMdiDemoView()BOOLCMdiDemoView:PreCreateWindow(CREATESTRUCT&a mp; cs)/ TODO: Modify the Window class or styles here by modifying/ the CREATESTRUCT csreturn CView:PreCreateWindow(cs);/ CMdiDemoView drawingvoid CMdiDemoVie

8、w:OnDraw(CDC* pDC)CMdiDemoDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data hereCRect crect;GetClientRect(&crect);CSize sizeClient=crect.Size();CString str=pDoc->strCaption;CSize sizeTextExtent=pDC->GetTextExtent(str);pDC->TextOut(sizeClient.cx-sizeTextE

9、xtent.cx)/2,(sizeClient.cy-sizeTextExtent.cy)/2,str);/ CMdiDemoView printingBOOL CMdiDemoView:OnPreparePrinting(CPrintInfo*pInfo)/ default preparationreturn DoPreparePrinting(pInfo);void CMdiDemoView:OnBeginPrinting(CDC* /*pDC*/,CPrintInfo* /*pInfo*/)/ TODO: add extra initialization before printingv

10、oid CMdiDemoView:OnEndPrinting(CDC* /*pDC*/,CPrintInfo* /*pInfo*/)/ TODO: add cleanup after printing/ CMdiDemoView diagnostics#ifdef _DEBUGvoid CMdiDemoView:AssertValid() constCView:AssertValid();void CMdiDemoView:Dump(CDumpContext& dc) constCView:Dump(dc);CMdiDemoDoc* CMdiDemoView:GetDocument() / non-debug version is

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论