OninitDialog
()中创建3个早缓对象的
非模态对话框
实例(去掉边框),可用
SetWindowPos
调整位置
2.在按钮的消息响应中分别show和hide刚才建立的窗口就可以达到楼主要求的效果了指毕,
1,新建对话框类ADlg,类BDlg,并且把属性设置为Child, border属性设置为None2,把ADlg类,BDlg类的生命周期设置为主对话框成员函数,或者静态,或者全局,反正不要弄成局部变量就行
3,你可以在主对话框里面设置一个组合框 ID=IDC_Groupbox,为了的把它设置为新建对话框ADlg,BDlg的父窗口,新建对话框就在组合框上面了
4,在主窗口启动或者其他位置添加以下代码建立子对话框:
ADlg.Create(IDD_ADlg,GetDlgItem(IDC_Groupbox))
ADlg.ShowWindow(SW_HIDE)
BDlg.Create(IDD_BDlg,GetDlgItem(IDC_Groupbox))
BDlg.ShowWindow(SW_HIDE)
这样就建立上了,然后你直接用ShowWindow去控制两个对话框的显示和隐藏即可,比如在botton1里烂备面做
ADlg.ShowWindow(SW_SHOW)
BDlg.ShowWindow(SW_HIDE)
在botton2里面做
ADlg.ShowWindow(SW_HIDE)
BDlg.ShowWindow(SW_SHOW)
这样就实现了啊 要在一个botton里面做 你在外面正衡设置个标饥清毁记,函数里面做判断也可以啊,这样A,B两个窗体就是显示在主窗口上的,而非domodle那种单独一个对话框出来。
比如你想添加一个登录框:
首先,在资源视图里面,添加一个对话框,然后为这个对话框创建类文件(头文件和源文件),假设你的登录对话框的类名是 CLoginDlg;
然后,在你贴出的代码中,这句话 INT_PTR nResponse = dlg.DoModal()上一行写上如下代码:
CLoginDlg LoginDlgif(LoginDlg.DoModal() == IDCANCEL) return FALSE
最后,构建你的工程颂扮,运行程序,看看效果。裂樱吵
注意:相关逻辑你需要在 CLoginDlg 中自己肆侍编写,以上步骤仅供参考!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)