关于MFC对话框的,在一个主对话框下创建了一个非模态对话框,我想要点击主对话框右上角的

在一个主对话框下创建了一个非模态对话框,我想要点击主对话框右上角的最小化和关闭按钮,但是不让创建的非模态对话框消失,应该怎么做?... 在一个主对话框下创建了一个非模态对话框,我想要点击主对话框右上角的最小化和关闭按钮,但是不让创建的非模态对话框消失,应该怎么做? 展开
 我来答
veket的小号
2013-12-09 · TA获得超过3370个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3869万
展开全部

附件为 vc6 写的mfc程序

新建 mfc对话框程序 插入 一个新的对话框资源 保存

打开类向导 给新的对话框添加类

 

给主对话框添加成员变量  新对话框类的 指针

给主对话框 的头文件(主对话框类的 类定义 前)添加 新对话框类的 前向声明

给主对话框 的源文件 添加 新对话框的头文件引用

给主对话框添加 两个按钮一个用来 弹出新对话框 一个用来退出整个程序 双击他们给他们添加响应函数

主对话框 构造函数 初始化 那个指针为NULL

第一个按钮响应函数中 判断 指针是否为空  ;为空 则 new 建立 新对话框对象

 

另一个按钮 判断指针是否为空 不为空的 delete 销毁 新对话框 然后把指针 置为空

然后PostMessage(WM_QUIT,0,0); 发消息 退出程序

 

给 主对话框添加 WM_CLOSE消息处理函数

屏蔽掉默认的 //CDialog::OnClose(); 语句 阻止程序退出

发送消息最小化消息 SendMessage(WM_SYSCOMMAND,SC_MINIMIZE,0);

以改变 关闭按钮的实际动作

 

解决 新对话框 跟着 主对话框 一起最小化 请参考 此贴 对话框create的第二个参数GetDesktopWindow()

http://bbs.csdn.net/topics/10163674

 不想再任务栏(开始菜单的 右边)中  显示 新对话框 的 (开始菜单的 右边)

给新对话框添加 WM_ONINITDIALOG消息的处理函数

添加 一行代码 利用setwindowlong这个api

SetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);

http://bbs.csdn.net/topics/30062406

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式