您的位置:首页 > 其它

MFC TableControl控件子对话框 以及子控件 随主对话框 最大化后 调整大小及位置

2014-07-25 16:05 411 查看
1.主对话框中有个TableControl控件,TableControl控件中有几个子对话框绑定到TableControl控件中,子对话框中有很多控件,

主对话框 最大化后,,,要调整tableControl控件下的子对话框和子控件,

方法

1.首先调整TableControl控件的大小

直接在主对话框的OnSize函数中 phWnd = GetDlgItem(nID); 获取tabcontrol控件的句柄,

2.然后获取当前对话框的 rect坐标框

phWnd->GetWindowRect(Rect);

CWnd::FromHandle (::GetParent(phWnd->m_hWnd))->ScreenToClient(Rect); //把屏幕坐标转化为当前父窗口的坐标

调整位置大小

CManageTabDlg::GetNewRect(Rect,m_Multiple_width,m_Mutiple_heith,bSizeFlag,eWidgetType);

移动至指定位置

phWnd->MoveWindow(Rect,TRUE);

3.获取子对话框的句柄

phWnd = m_pageDb.m_pCpageDb; 其中m_pCpageDb = this;是子对话框的this指针 CPageDb *m_pCpageDb;

4.子对话框中控件的句柄获取

phWnd = m_pageDb.m_pCpageDb->GetDlgItem(nID); // nId 即为子对话框中控件的ID

获取到这些句柄后,通过

phWnd->MoveWindow(Rect,TRUE);

可以随意更改这些对话框或控件的 大小及位置了。。。。。。。。。!!!!!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: