怎么实现下面这个界面设计? 大家都知道,当建立一个多文档程序,最大化副窗体的时候看到副窗体会充满主窗体的用户区。现在的问题是我想把主窗体静态拆分成3个子窗体(左边上下两部分,右边一大部分),然后当最大化副窗体的时候我希望副窗体充满的是主窗体的右边那个子窗体,换句话说将主窗体拆分出来的右边那个子窗体作为所有副窗体的容器。该怎么实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你所说的多文档程序的用户区其实是一个叫MDICLIENT的控件,只要把这个窗口作为主窗口的右半部分就可以了。在主窗口的WM_SIZE里面获取到这个窗口的句柄或对象,重新调整一下其位置就可以了。 楼上的,您的意思是指先随便拆分出来,然后在控制MDICLIENT这个控件的起始坐标和长宽大小到我要的子窗口的位置上去?我现在已经实现了对主窗口的静态拆分,代码如下:(其中dlg2是一个基于cformview的view类)BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { Splitter1.CreateStatic(this,1,2); Splitter1.SetColumnInfo(0, 200, 100);Splitter2.CreateStatic(&Splitter1,2,1,WS_CHILD|WS_VISIBLE,Splitter1.IdFromRowCol(0,0)); Splitter2.CreateView(0,0,RUNTIME_CLASS(dlg2),CSize(0,280),pContext); Splitter2.CreateView(1,0,RUNTIME_CLASS(dlg2),CSize(0,0),pContext); Splitter1.CreateView(0,1,RUNTIME_CLASS(dlg2),CSize(0,0),pContext); return CMDIFrameWnd::OnCreateClient(lpcs, pContext);}执行上面的代码,主窗口被拆分成了左边上下两部分,右边一大部分的横的“品”字形结构。但是原来程序初始化完成后的那个浮动的副窗体(childframe)不见了。那我该怎么在WM_SIZE里获得MDICLIENT这个控件的句柄,并调整位置到Splitter1的(0,1)号子窗体中去啊啊?我是新手,现在还只能做些照葫芦画瓢的工作,请多包含。 c++中如何实现动态数组的数据采集和显示 MFC打印预览的缩放是如何实现的? 关于RFID编程的问题,求教经验人士!! 无法读写 IS014443B类卡,返回状态0X05 求语音压缩算法 关于霍夫曼压缩存储时的问题 有没有可以播放mp3,rm,wav等常见声音格式的控件、类? 关于HBITMAP 来看这个最后版本的QQ木马,有源程序给你 vc中如何判断一数值在数据库中是否存在 help mee windows桌面怎么缩小到我的窗口的一个部分里 动态改变Slider背景色
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
Splitter1.CreateStatic(this,1,2);
Splitter1.SetColumnInfo(0, 200, 100);
Splitter2.CreateStatic(&Splitter1,2,1,WS_CHILD|WS_VISIBLE,Splitter1.IdFromRowCol(0,0));
Splitter2.CreateView(0,0,RUNTIME_CLASS(dlg2),CSize(0,280),pContext);
Splitter2.CreateView(1,0,RUNTIME_CLASS(dlg2),CSize(0,0),pContext);
Splitter1.CreateView(0,1,RUNTIME_CLASS(dlg2),CSize(0,0),pContext);
return CMDIFrameWnd::OnCreateClient(lpcs, pContext);
}
执行上面的代码,主窗口被拆分成了左边上下两部分,右边一大部分的横的“品”字形结构。但是原来程序初始化完成后的那个浮动的副窗体(childframe)不见了。那我该怎么在WM_SIZE里获得MDICLIENT这个控件的句柄,并调整位置到Splitter1的(0,1)号子窗体中去啊啊?
我是新手,现在还只能做些照葫芦画瓢的工作,请多包含。