Nascondere il form principale in Delphi 2009 Application
-
22-08-2019 - |
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.
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 .