在对话框内嵌入视图

本文档详细介绍了如何在对话框中嵌入视图的操作过程,包括创建基于对话框的工程,添加文档类和视图类,然后在对话框初始化函数中进行视图的创建和显示,通过调整坐标使视图嵌入到对话框适当位置。

参考了CodeGuRu上的一篇文章,自己又实习了一遍。现把思路和代码贴出来:

1、建立一个基于对话框的工程

2、向工程内添加文档类(CMyDocument),视图类(CMyView)

3、在StdAfx.h中包含文档类视图类的头文件

#include "MyDocument.h"

#include "MyView.h"

4、在对话框初始化函数中添加视图初始化代码

BOOL CViewInDlgDlg::OnInitDialog()
{
 CDialog::OnInitDialog();

 // Add "About..." menu item to system menu.

. . . .

  // TODO: Add extra initialization here,以下为视图初始化语句
 CCreateContext pContext;
 CWnd* pFrameWnd = this;
 pContext.m_pCurrentDoc = new MyDocument;
 pContext.m_pNewViewClass = RUNTIME_CLASS(MyView);
 MyView *pView =(MyView *) ((CFrameWnd*)pFrameWnd)->CreateView(&pContext);
 ASSERT(pView);
 pView->ShowWindow(SW_NORMAL);
 CRect rectWindow;
 GetWindowRect(rectWindow);
 rectWindow.right += 15;
 rectWindow.top -= 10;
 pView->MoveWindow(rectWindow);
 
 return TRUE;  // return TRUE  unless you set the focus to a control
}

由此视图被嵌入到对话框中(如下图)

立此存照

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值