一、在资源中添加一个将要显示子对话框。
1、属性栏里Visible项设置为true
2、属性栏里style 项设置为child
3、属性栏里border 项设置为none
二、为子对话框。添加一个类,例如类名为 DlgTset.
三、在父窗口所在的.h文件中包含DlgTset.h文件,并创建一个DlgTset类的成员,如:
public:
DlgTset *m_childTest;
四、在父窗口所在CPP文件中找到 BOOL xxxxxxxx::OnInitDialog()函数,选择加入下面代码。
BOOL xxxxxxxx::OnInitDialog()
{
。。。。
。。。。
//为子窗口分配资源,并指传递父类的handle
m_childTest = new ChildTest( this );
//创建这个窗口 IDD_CHILD_DIALOG为子窗口ID
m_childTest->Create( IDD_CHILD_DIALOG, this );
//m_childTest->CenterWindow(this);
CRect rect;
//取得相对于屏左上角的位置
//m_childTest -> GetWindowRect( &rect );
//取得相对于父对话框左上角位置
this -> GetClientRect( &rect );
//把子窗口移动到适合的大小
m_childTest -> MoveWindow( 0, 40, rect.right -rect.left, rect.bottom -rect.top );
//显示窗口
m_childTest ->ShowWindow( SW_SHOW );
。。。。
。。。。
}
说明:
“//创建这个窗口 ” 后面的代码也可以入button事件中处理。
可以根据注释的内容,对代码适当的删除。
五、给子窗口添加WM_CLOSE消息。
在生成的OnClose函数中销毁窗口,DestroyWindow()。