一、对话框中显示对话框的方法:
1、首先创建要在对话框里显示的那个对话框,命名为:IDD_Dialog_Status。
设置这个对话框的属性:
1)、“Style”选择“Child”;中文版“样式”选择“下层”。
2)、“Border”为“None”;中文版“边框”选择“无”。
2、为了显示时能够准确定位,我们可以在主对话框中要显示对话框的地方放入一个Pic控件,命名为:IDC_STATUS,Visible属性去掉。
3、创建需要嵌入的对话框对话框
StatusBar
*m_StatusBar;
m_StatusBar = new
StatusBar(this);
m_StatusBar->Create(IDD_DIALOG_StatusBar);//创建状态栏
4、移动pic控件到指定地方以及显示对话框
SystemParametersInfo(SPI_GETWORKAREA, 0, &rect, 0);
if (rect.Width() <= 1024)
MoveWindow(rect);
else
{
rect.top = 0;
rect.left = 0;
rect.bottom = 768 -
30; //GetTaskbarHeight();
rect.right = 1024;
MoveWindow(rect);//把主对话框移动到这个位置
CenterWindow();//居中显示
}
if (GetDlgItem(IDC_STATUS))//得到状态栏图片控件
{
rect1.top = rect.bottom -
25;
rect1.left = rect.left +
8;
rect1.right = rect.right -
8;
rect1.bottom = rect1.top +
20;
GetDlgItem(IDC_STATUS)->MoveWindow(rect1);//把图片控件移动到这个位置
if (m_StatusBar){
m_StatusBar->MoveWindow(&rect1);
m_StatusBar->ShowWindow(SW_SHOW);
m_StatusBar->UpdateWindow();
}
}
|