Domanda

Il seguente codice funziona bene in Delphi 7. Tuttavia, nel Delphi 2009 il modulo non rimane nascosto ma il pulsante sulla barra delle applicazioni è ora appare.

ShowWindow(Handle, SW_HIDE);
SetWindowLong(Handle, GWL_EXSTYLE, GetWindowLong(Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW );
ShowWindow(Handle, SW_SHOW);

Il codice sopra è chiamato nel metodo FormCreate.

È stato utile?

Soluzione

Si scopre che il motivo che stavamo vedendo la finestra dell'applicazione sulla barra delle applicazioni è stata una semplice impostazione simile a quella risposta di stukelly ma non del tutto.

Per ottenere la principale forma di apparire sulla barra delle applicazioni e nascondere il menu delle applicazioni si applica:

Application.MainFormOnTaskbar := True;
Application.ShowMainForm := False;

Nessun codice della maschera creare o qualsiasi cosa necessaria.

Altri suggerimenti

È necessario impostare il ShowMainForm e MainFormOnTaskBar proprietà su false prima forma viene creata.

Aprire il sorgente del progetto e impostare MainFormOnTaskBar e ShowMainForm False, prima della creazione del modulo.

Application.Initialize;
Application.MainFormOnTaskbar := false;
Application.ShowMainForm := false;
Application.CreateForm(TForm1, Form1);

Poi sul modulo principale aggiungere il seguente codice alla FormActivate e FormShow eventi.

procedure TForm1.FormActivate(Sender: TObject);
begin
 // hide taskbar button
 ShowWindow(Application.Handle, SW_HIDE);
end;
procedure TForm1.FormShow(Sender: TObject);
begin
 // hide taskbar button
 ShowWindow(Application.Handle, SW_HIDE);
end;

Ho testato con Dephi 2007 e il 2009. Ulteriori informazioni sono disponibili .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top