2.0mainfram

本文介绍了一个使用MFC框架实现的双视图界面布局方法。通过创建静态分割窗口并设置不同视图区域,实现了左侧为列表视图、右侧上方为表单视图、下方为编辑视图的界面布局。此布局适用于需要同时展示不同信息而又保持良好交互性的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
 CRect rect;
 GetWindowRect(rect);
 ScreenToClient(rect);
 m_wndSplitter.CreateStatic(this,1,2);
 m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CMyFromView),CSize(rect.Width()/3,rect.Height()),pContext);  
 m_wndSplitter.SetColumnInfo(0, rect.Width()/3*2, 0);
 m_wndSplitter2.CreateStatic(&m_wndSplitter,2,1,WS_CHILD | WS_VISIBLE,m_wndSplitter.IdFromRowCol(0, 0));
 m_wndSplitter2.CreateView(0,0,RUNTIME_CLASS(CMyListView),CSize(rect.Width()/3*2,rect.Height()/5*3),pContext);
 m_wndSplitter2.CreateView(1,0,RUNTIME_CLASS(CMyEditView),CSize(rect.Width()/3*2,rect.Height()/5*2),pContext);  
   // return CFrameWnd::OnCreateClient(lpcs, pContext);
 return TRUE;
}

LRESULT CMainFrame::OnFormNotifyList(WPARAM wParam,LPARAM lParam)
{
 ::SendMessage(m_wndSplitter2.GetPane(0,0)->GetSafeHwnd(),UM_NOTIFYLIST_REFRESH,wParam,NULL);
 return TRUE;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值