vc tab控件调用的dialog的大小
每个tab控件页调用一个dialog对话框填充那个tab页,dialog在tab页中的位置我可以设定了,问题是调用的dialog大小太大,不能够完全显示,怎么设置调用的那...
每个tab控件页调用一个dialog对话框填充那个tab页,dialog在tab页中的位置我可以设定了,问题是调用的dialog大小太大,不能够完全显示,怎么设置调用的那个dialog对话框拉伸填充满tab页?求指点。。
展开
3个回答
展开全部
1、获取tab页的大小和位置。
2、设置对话框的大小和位置。
showTab(int nIndex)
{
CRect rectClient;
m_tab1.GetClientRect(&rectClient);
rectClient.top += 33;
rectClient.left += 1;
rectClient.right -= 3;
rectClient.bottom -= 2 ;
switch(nIndex)
{
case 0:
m_dlg1.SetWindowPos(NULL,rectClient.left,rectClient.top,rectClient.Width(),rectClient.Height(),SWP_SHOWWINDOW);
m_dlg2.SetWindowPos(NULL,rectClient.left,rectClient.top,rectClient.Width(),rectClient.Height(),SWP_HIDEWINDOW);
break;
case 1:
m_dlg1.SetWindowPos(NULL,rectClient.left,rectClient.top,rectClient.Width(),rectClient.Height(),SWP_HIDEWINDOW);
m_dlg2.SetWindowPos(NULL,rectClient.left,rectClient.top,rectClient.Width(),rectClient.Height(),SWP_SHOWWINDOW);
break;
}
}
2、设置对话框的大小和位置。
showTab(int nIndex)
{
CRect rectClient;
m_tab1.GetClientRect(&rectClient);
rectClient.top += 33;
rectClient.left += 1;
rectClient.right -= 3;
rectClient.bottom -= 2 ;
switch(nIndex)
{
case 0:
m_dlg1.SetWindowPos(NULL,rectClient.left,rectClient.top,rectClient.Width(),rectClient.Height(),SWP_SHOWWINDOW);
m_dlg2.SetWindowPos(NULL,rectClient.left,rectClient.top,rectClient.Width(),rectClient.Height(),SWP_HIDEWINDOW);
break;
case 1:
m_dlg1.SetWindowPos(NULL,rectClient.left,rectClient.top,rectClient.Width(),rectClient.Height(),SWP_HIDEWINDOW);
m_dlg2.SetWindowPos(NULL,rectClient.left,rectClient.top,rectClient.Width(),rectClient.Height(),SWP_SHOWWINDOW);
break;
}
}
展开全部
1、用GetClientRect获取tab的客户区大小
2、显示dialog前先对dialog调用MoveWindow改变dialog的大小
3、调用ShowWindow或者DoModel显示dialog
2、显示dialog前先对dialog调用MoveWindow改变dialog的大小
3、调用ShowWindow或者DoModel显示dialog
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CRect rect;
m_tab.GetClientRect(&rect);
rect.top+=20;
rect.bottom-=4;
rect.left+=4;
rect.right-=4;
page1.MoveWindow(&rect);
m_tab为tab控件变量
page1为对话框变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询