vc++中怎么获取view的指针呢?

wujuan120 2008-05-04 02:47:45
做界面时,用Splitter分割界面,只会单独上下分或是左右分,怎么将界面分为左右下三部分区域呢?
还有就是:vc++中怎么获取view的指针呢?期望各位侠士指点!
...全文
104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujuan120 2008-05-04
  • 打赏
  • 举报
回复
代码写得很清楚,真是太感激了!以后还请多多指点
Chenbitian 2008-05-04
  • 打赏
  • 举报
回复
来迟,up
datoucaicai 2008-05-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wujuan120 的回复:]
splitter.CreateStatic (this , 1, 2 );
我是代替this的指针,这怎么写啊?
[/Quote]
| CView2
|_________
CView1 |
| CView3

//假如要切分成图示窗口

//定义两个CSplitterWnd的成员变量
CSplitterWnd m_wndVerSplitter; //垂直切分
CSplitterWnd m_wndHorSplitter; //水平切分

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
m_wndHorSplitter.CreateStatic(this, 1, 2); //先水平切分成左右两部分
m_wndVerSplitter.CreateStatic(&m_wndHorSplitter, 2, 1,
WS_CHILD|WS_VISIBLE, m_wndHorSplitter.IdFromRowCol(0,1)); //再将右半部分切分成上下两个

CRect rcClient;
GetClientRect(&rcClient);
int cxRect = rcClient.Width();
int cyRect = rcClient.Height();

m_wndHorSplitter.CreateView(0, 0, RUNTIME_CLASS(CView1), CSize(cxRect/4,cyRect),
pContext); //创建左视图
m_wndVerSplitter.CreateView(0, 0, RUNTIME_CLASS(CView2), CSize
(cxRect*3/4,cyRect*1/3), pContext); //创建右下视图
m_wndVerSplitter.CreateView(1, 0, RUNTIME_CLASS(CView3), CSize
(cxRect*3/4,cyRect*2/3), pContext); //创建右上视图

return TRUE;
}


//获取切分窗口View的指针,比如获取右上视图指针
CView2* pView2 = (CView2*)m_wndVerSplitter.GetPane(0,0);
wujuan120 2008-05-04
  • 打赏
  • 举报
回复
splitter.CreateStatic (this , 1, 2 );
我是代替this的指针,这怎么写啊?
wqvbjhc 2008-05-04
  • 打赏
  • 举报
回复
POSITION pos=GetFirstViewPosition();
CView *pFirstView=GetNextView(pos);
wujuan120 2008-05-04
  • 打赏
  • 举报
回复
试过了,调试失败
Chivalry 2008-05-04
  • 打赏
  • 举报
回复
GetActiveView

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧