VC 如何模态对话框开启后隐藏父窗口

VC 如何模态对话框开启后隐藏父窗口,第1张

楼上说的都不准确。这个问题要从Windows最基本的原理将其,Windows所有的可见组建都是窗口,按钮,编辑框等都是窗口,他和模态对话框没有什么两样。

Windows有这么几个规定,当父窗口隐藏的时候信悉,它所有的子窗口会同时隐藏,也就是你隐藏了父橘贺窗口,父窗口上的按钮,编辑框所有控件都会同时隐藏掉,这是很自然的,所以你由这个父窗口创建的模态对话框也同时被隐藏。如果父窗口被关闭,那么其所有子窗口都被关闭。如果移动父窗口,所有的子窗口会跟着移动。你这要想着对话框上的按钮也是对话框的子窗口,这样Windows的行为都变得可以理解了。

好了,回到你的问题,你要让模态对话框显示而父窗口不显示是不可能的,除非你隐藏的窗口不是他的父窗口,因此解决方法就是你创建模态对话框的时候不要把当前要隐藏的窗口的句柄给他,直接给NULL,这样就会创建没有父窗口的模态对话框,然后再隐藏你要隐藏的对话框就行圆坦派了。不过顶级对话框可能会在任务栏里面增加新的按钮,这个我不确定。

隐藏this.visible=false

打返贺开的同时设置

但是如果你隐藏父窗体的话。 那你从子窗体打开父窗体的时间就不是同一个窗体咯?

你可以这样。

在子窗体声明一个public的父窗体变量 然后在打开子窗体的同时模培。把当前父窗体传递给该变量

如:

子窗体:

public 父窗体 Fu

父窗体:

子窗漏码派体 a = new 子窗体;

a.show()

a.Fu = this

然后再次从子窗体返回父窗体的时间,直接用Fu对象在把父窗体的visble设置为true就行了

这样的话就不会占用太多的系统资源


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8227560.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存