Форма приложения Delphi отображается вместо того, чтобы скрываться при запуске

У меня есть программа, в которой она не запускается в свернутом виде и показывает очень маленькое окно на рабочем столе.

Изображение: http://i.imgur.com/j8xus.jpg

Код:

программа:

program Project4;

uses
  Forms,
  Unit4 in 'Unit4.pas' {Form4};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := false;
  Application.ShowMainForm:=false;
  Application.CreateForm(TForm4, Form4);
  Application.Run;
end.

Ед. изм:

unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, AppEvnts, ExtCtrls, Menus;

type
  TForm4 = class(TForm)
    TrayIcon1: TTrayIcon;
    ApplicationEvents1: TApplicationEvents;
    PopupMenu1: TPopupMenu;
    Exit1: TMenuItem;
    procedure TrayIcon1DblClick(Sender: TObject);
    procedure ApplicationEvents1Minimize(Sender: TObject);
    procedure ApplicationEvents1Restore(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormCreate(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
  private
    { Private declarations }
    fCanClose: Boolean;
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.ApplicationEvents1Minimize(Sender: TObject);
begin
  Hide();
  WindowState := wsMinimized;
end;

procedure TForm4.ApplicationEvents1Restore(Sender: TObject);
begin
  Show();
  WindowState := wsNormal;
  application.Bringtofront;
end;

procedure TForm4.Exit1Click(Sender: TObject);
begin
  fcanclose:=true;
  close;
end;

procedure TForm4.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if not fCanClose then
    begin
      hide;
      windowstate:=wsminimized;
      CanClose:=false;
    end
      else
    CanCLose:=True;
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
  fCanClose:=FALSE;
end;

procedure TForm4.TrayIcon1DblClick(Sender: TObject);
begin
  if (windowstate = wsminimized) then
    begin
      Show;
      windowstate := wsnormal;
      application.BringToFront;
    end
     else
    begin
      hide;
      windowstate:=wsminimized;
    end;
end;

end.

person Daniel    schedule 09.01.2013    source источник
comment
Убедитесь, что для свойства Form4 установлено значение False для свойства Visible.   -  person LaKraven    schedule 09.01.2013
comment
stackoverflow.com/questions/7071017/   -  person    schedule 09.01.2013
comment
Для свойства visible установлено значение false   -  person Daniel    schedule 09.01.2013
comment
SilentD, я не вижу, как это относится к моей проблеме.   -  person Daniel    schedule 09.01.2013


Ответы (1)


Я создал ваш проект, и у меня были те же проблемы, пока я не изменил следующую строку кода на True:

Application.MainFormOnTaskbar := True;

Теперь приложение, похоже, работает нормально, без сворачивания в левый нижний угол рабочего стола, прежде чем оно будет скрыто.

person James L.    schedule 09.01.2013