Delphi程序最小化的问题

bruce_zhao 2000-03-20 06:27:00
加精
近日经一位网友的提醒,突然发现Delphi的一个问题:
用Delphi写的应用程序在最小化时是突然一下消失的,而不是象普通的应用程序那样逐渐缩小到任务栏,这样多少觉得有点不爽,不知有没有办法解决?
...全文
369 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bnulaw 2001-06-13
  • 打赏
  • 举报
回复
ImFool 2001-05-24
  • 打赏
  • 举报
回复
CathyEagle:
请介绍一下原理,IsLibrary 变量都影响了什么,这样做有什么副作用?
在你的代码中,不浪费 Form1 不行吗?我试了一下,就是最小化按钮不起作用,加个消息处理代码直接解决不行吗?
eagleboost 2000-03-22
  • 打赏
  • 举报
回复
Delphi5+UP#1自然没问题,Win98,IE5都无所谓。其实Delphi5已经解决了最小化动态效果的问题,但是由于Delphi程序有个Application对象,而系统菜单和主窗口系统菜单是不同的。造成不能和其他Windows标准窗口正常平铺。
用我的方法顺便也可以解决这个问题。
可用于Delphi3、4、5(Delphi2我没用过,所以也没试过)
Jean 2000-03-21
  • 打赏
  • 举报
回复
环境:
Win98SE+IE5
Delphi5+UP#1
eagleboost 2000-03-20
  • 打赏
  • 举报
回复
  这个问题我好早以前就已发现并且已经解决,只是一直没有发表。
  用Delphi编的程序最小化时没有动态效果,可以用以下方法实现。
  一、New Application。
  二、New Form,生成Form2。
  三、New Unit,在implementation后面加上:
initialization
islibrary :=true;
  四、Save All,为工程取好名字,Unit建议取名为“RunFirst.pas”。
  五、打开工程文件,把“RunFirst in 'RunFirst.pas';”放到“Forms,”这一行前面去,如下:
program Project1;
uses
RunFirst in 'RunFirst.pas',
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};

{$R *.RES}

begin
Application.Initialize;
Application.ShowMainForm :=false;
islibrary :=true;
Application.CreateForm(TForm1, Form1);
Form2 :=TForm2.Create(Application) ;
Form2.Show ;
Form2.Update ;
Application.Run;
end.
  六、在Form2的OnClose事件中写如下语句:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Application.Terminate
end;
  即可。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧