在Dialog中嵌入View的方法

在Dialog中嵌入View的过程并不复杂,主要分为四个步骤:创建CFrameWnd并定位,正确设置CCreateContext,创建View并与CFrameWnd关联,最后显示View。通过示例代码展示了如何实现这一过程,包括GetDlgItem获取窗口矩形,ScreenToClient转换坐标,以及使用RUNTIME_CLASS创建对象等操作。
摘要由CSDN通过智能技术生成
 

在dialog中嵌入view也没有想象到的那么复杂,遵循如下步骤即可。

1. Create 一个 child类型的CFrameWnd,摆正位置。

2. 正确设置CCreateContext

3. Create 出View与CFrameWnd关联4. Show it!

 

看代码:

    CWnd* pPosWnd = GetDlgItem(IDC_VIEW_POSITON);
   CRect rect;
   pPosWnd->GetWindowRect(&rect);
   CRect rectView = rect;
   ScreenToClient(&rect);

   m_pFrame = new CFrameWnd();
   m_pFrame->Create(NULL, NULL, WS_CHILD | WS_VISIBLE, rect, this);

   m_pFrame->ScreenToClient(&rectView);

   m_pDoc = static_cast<CDlgViewDoc*>(RUNTIME_CLASS(CDlgViewDoc)->CreateObject());

   CCreateContext context;
   context.m_pNewViewClass = RUNTIME_CLASS(CDlgViewView);
   context.m_pCurrentDoc = m_pDoc;
   context.m_pNewDocTemplate = NULL;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值