我的做法:
m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CMytableview),CSize(rect.Width()/2,rect.Height()),pContext);
其中,CMytableview基于CFormViewr;
然后我向CMytableview的对话框中添加了一个CTabCtrl(关联变量m_tab),并在CMytableview::OnInitialUpdate()中加入
CRect rs;
this->GetClientRect(rs);
m_tab.MoveWindow(rs);
但是执行出来后CMytableview的对话框大小并没有适应切分窗口的大小,请问我该怎么做?
还有在CMytableview::OnSize(UINT nType, int cx, int cy)中又该如何写?
9 个解决方案
#1
msdn.microsoft.com/msdnmag/issues/0600/Wicked/
#2
可以在一个子窗口中放一个Cdialog,Cdialog上再放一个CTabCtrl
或者把CTabCtrl放在一个ToolBar里,很多方法的.
另外
CRect rs;
this->GetClientRect(rs);
m_tab.MoveWindow(rs); // 这句一般需要加上个 if( m_tab.GetSafeHwnd() )
放到OnSize里试试呢.
或者把CTabCtrl放在一个ToolBar里,很多方法的.
另外
CRect rs;
this->GetClientRect(rs);
m_tab.MoveWindow(rs); // 这句一般需要加上个 if( m_tab.GetSafeHwnd() )
放到OnSize里试试呢.
#3
to: eplanet(小汽车)
我用的方法和你的差不多,不行啊.关键是在切分窗口里放入对话框后,对话框的大小不容易随着切分窗口的大小改变.
jiangsheng(蒋晟.Net[MVP]) 的方法也许可以,尝试中……
我用的方法和你的差不多,不行啊.关键是在切分窗口里放入对话框后,对话框的大小不容易随着切分窗口的大小改变.
jiangsheng(蒋晟.Net[MVP]) 的方法也许可以,尝试中……
#4
CRect rs;
this->GetClientRect(rs);
m_tab.MoveWindow(rs); // 这句一般需要加上个 if( m_tab.GetSafeHwnd() )
放到OnSize里试试呢.
嗯,要放到OnSize里,先判断控件句柄是否存在.
this->GetClientRect(rs);
m_tab.MoveWindow(rs); // 这句一般需要加上个 if( m_tab.GetSafeHwnd() )
放到OnSize里试试呢.
嗯,要放到OnSize里,先判断控件句柄是否存在.
#5
这是因为你的对话框是基于CTabCtrl的,你要在CTabCtrl的OnSize里做同样的工作.
#6
切分窗口变化时,通过MoveWindow对窗口对话框的大小进行调整
#7
TO:raymonzhao(Raymon)
你理解错了,我是在对话框里放入CTabCtrl控件,而不是说在CTabCtrl的各页加入对话框。
我是要对话框和CTabCtrl控件二者都能随切分窗口的大小变化而变化。
你理解错了,我是在对话框里放入CTabCtrl控件,而不是说在CTabCtrl的各页加入对话框。
我是要对话框和CTabCtrl控件二者都能随切分窗口的大小变化而变化。
#8
你把视图弄成CFORMVIEW,再拖一个CTABCTRL进去,在onsize里处理后不可以吗?
对话框的大小不容易随着切分窗口的大小改变.
-----------------------------------------
视图的onsize消息会随着分割条的位置改变而改变的啊.
对话框的大小不容易随着切分窗口的大小改变.
-----------------------------------------
视图的onsize消息会随着分割条的位置改变而改变的啊.
#9
多谢了。是我没弄好。
结贴。
结贴。
#1
msdn.microsoft.com/msdnmag/issues/0600/Wicked/
#2
可以在一个子窗口中放一个Cdialog,Cdialog上再放一个CTabCtrl
或者把CTabCtrl放在一个ToolBar里,很多方法的.
另外
CRect rs;
this->GetClientRect(rs);
m_tab.MoveWindow(rs); // 这句一般需要加上个 if( m_tab.GetSafeHwnd() )
放到OnSize里试试呢.
或者把CTabCtrl放在一个ToolBar里,很多方法的.
另外
CRect rs;
this->GetClientRect(rs);
m_tab.MoveWindow(rs); // 这句一般需要加上个 if( m_tab.GetSafeHwnd() )
放到OnSize里试试呢.
#3
to: eplanet(小汽车)
我用的方法和你的差不多,不行啊.关键是在切分窗口里放入对话框后,对话框的大小不容易随着切分窗口的大小改变.
jiangsheng(蒋晟.Net[MVP]) 的方法也许可以,尝试中……
我用的方法和你的差不多,不行啊.关键是在切分窗口里放入对话框后,对话框的大小不容易随着切分窗口的大小改变.
jiangsheng(蒋晟.Net[MVP]) 的方法也许可以,尝试中……
#4
CRect rs;
this->GetClientRect(rs);
m_tab.MoveWindow(rs); // 这句一般需要加上个 if( m_tab.GetSafeHwnd() )
放到OnSize里试试呢.
嗯,要放到OnSize里,先判断控件句柄是否存在.
this->GetClientRect(rs);
m_tab.MoveWindow(rs); // 这句一般需要加上个 if( m_tab.GetSafeHwnd() )
放到OnSize里试试呢.
嗯,要放到OnSize里,先判断控件句柄是否存在.
#5
这是因为你的对话框是基于CTabCtrl的,你要在CTabCtrl的OnSize里做同样的工作.
#6
切分窗口变化时,通过MoveWindow对窗口对话框的大小进行调整
#7
TO:raymonzhao(Raymon)
你理解错了,我是在对话框里放入CTabCtrl控件,而不是说在CTabCtrl的各页加入对话框。
我是要对话框和CTabCtrl控件二者都能随切分窗口的大小变化而变化。
你理解错了,我是在对话框里放入CTabCtrl控件,而不是说在CTabCtrl的各页加入对话框。
我是要对话框和CTabCtrl控件二者都能随切分窗口的大小变化而变化。
#8
你把视图弄成CFORMVIEW,再拖一个CTABCTRL进去,在onsize里处理后不可以吗?
对话框的大小不容易随着切分窗口的大小改变.
-----------------------------------------
视图的onsize消息会随着分割条的位置改变而改变的啊.
对话框的大小不容易随着切分窗口的大小改变.
-----------------------------------------
视图的onsize消息会随着分割条的位置改变而改变的啊.
#9
多谢了。是我没弄好。
结贴。
结贴。