现在有一个formview单文档,内部需要添加几个dialog,这些需要在单文档的菜单栏响应,同时这几个不同的dialog,都能够撑满整个单文档客户区(即,不管单文档最大化,或者移动,内部的dialog均能够撑满客户区)
请问具体应该怎么做
------解决思路----------------------
假如 你要同时 显示2个 dialog 你需要以下几个步骤
1, 把2个 dialog 设置成子窗口 这个 在资源视图 ->属性-> style ->chid
2,你要手动分配窗口的大小
我是这么写的:
// 调整 TabCtrl 控件内(表格)大小
void CAutoTradeView::AdjustDialogSize()
{
CRect tab_rect, uprect, dnrect;
tab_ctrl_.GetClientRect(&tab_rect);
tab_rect.top += 24;
tab_rect.bottom -= 4;
tab_rect.left += 4;
tab_rect.right -= 4;
uprect.left = tab_rect.left;
uprect.top = tab_rect.top;
uprect.right = tab_rect.right;
uprect.bottom = tab_rect.bottom / 2; //这行代码是把 一个界面分成2半
dnrect.left = tab_rect.left;
dnrect.top = uprect.bottom +2;
dnrect.right = tab_rect.right;
dnrect.bottom = tab_rect.bottom;
bond_quant_dialog_.MoveWindow(tab_rect);
bond_order_dialog_.MoveWindow(uprect);
bond_update_dialog_.MoveWindow(dnrect);
3, 显示的时候 2个窗口一起显示,不显示的时候2个窗口一起关闭
switch (cur_select_page_)
{
case 0:
bond_quant_dialog_.ShowWindow(TRUE);
bond_order_dialog_.ShowWindow(FALSE);
bond_update_dialog_.ShowWindow(FALSE);
break;
case 1:
bond_quant_dialog_.ShowWindow(FALSE);
bond_order_dialog_.ShowWindow(TRUE);
bond_update_dialog_.ShowWindow(TRUE);
break;
}
我是这么写的