一个EXE文件中,两个窗体,能否主窗体的最小化不影响另外一个?
比如,Form1是主窗口,里面有一个Timer,十秒后会自动显示Form2
这个时候发现,如果Form1最小化了,Form2就显示不出来,
那么,一个EXE文件中,两个窗体,能否主窗体的最小化不影响另外一个?
问题点数:100、回复次数:12Top
1 楼web700(*FS*的小狗腿子)回复于 2005-01-26 16:36:58 得分 5
不太好实现吧Top
2 楼apaqi(apaqi)回复于 2005-01-26 16:39:45 得分 0
像MSN的提示信息,就跟主窗口的最小化状态无关,只要有即时消息,就会出现。Top
3 楼xixuemao(钱不是问题,问题是没钱)回复于 2005-01-26 16:40:00 得分 10
主窗体最小化说明暂时不用它了啊,那直接hide,就让它显示form2,如果需要form1时再show出来不行嘛???Top
4 楼xixuemao(钱不是问题,问题是没钱)回复于 2005-01-26 16:43:21 得分 30
procedure TForm1.Timer1Timer(Sender: TObject);
begin
self.WindowState:= wsMinimized;
form2.show;
end;
应该没问题啊,只不过form1不能最小化到任务栏了。
Top
5 楼jinjazz(近身剪)回复于 2005-01-26 16:45:25 得分 20
form2.Show;
form2.WindowState:=WsNormal;Top
6 楼merkey2002(小样的)回复于 2005-01-26 17:18:43 得分 5
嗯,最小化到任務欄就 不會顯示出來
Top
7 楼apaqi(apaqi)回复于 2005-01-27 12:00:37 得分 0
谢谢xixuemao(吸血猫) jinjazz(近身剪(N-P攻略))
不过,你们的方法都有问题哦,
吸血猫的方法,运行了之后,很明显Form1缩到了任务栏的上面,也就像你说的那样,不能最小化到任务栏了,
近身剪(N-P攻略)可能根本没有调试自己的代码,那样子,Form1最小化之后,Form2也被最小化了,根本没有窗口啦。
Top
8 楼apaqi(apaqi)回复于 2005-01-27 12:02:12 得分 0
此外,为什么不让Form1隐藏呢,因为隐藏之后的Form1依然占用系统资源,比如内存,而如果最小化之后,占用的系统资源会小很多的。Top
9 楼Tensionli()回复于 2005-01-27 15:50:29 得分 10
关注Top
10 楼heluqing(鉴之小河〖劳累求充实〗)(vcl .net)回复于 2005-01-27 16:19:05 得分 20
用sui的控件来做吧
它里面有个suiMSNPOPForm
直接就能实现如同MSN的效果Top
11 楼apaqi(apaqi)回复于 2005-01-27 16:19:59 得分 0
不好意思,自己找到方法解决了,经过测试,可行。
http://www.howtodothings.com/ViewArticle.aspx?id=32285b1e9b764692929ec4f1203d2f40
This article demonstrates how to stop all forms in a Delphi app from minimizing when the main form minimizes.
For each child form that you wish to remain visible do this
type
TSomeForm = class(TForm)
protected
procedure CreateParams(var Params: TCreateParams); override;
end;
implementation
procedure TSomeForm.CreateParams(var Params : TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent := GetDesktopWindow;
end;Top
12 楼apaqi(apaqi)回复于 2005-01-27 16:28:21 得分 0
sui的控件要钱地,Top



