![]() |
Minimiert starten...
... Wie kann ich mein programm minimiert starten?
Ich hab vorher versucht im OnCreate-Ereigniss die procedure GoToTray zu laden, die mein programm minimiert, wenn ich auf einen Button klicke 8also funktioniert die procedure) hier meine GoToTray procedure:
Delphi-Quellcode:
leider startet meine anwendung ganz normal, sie wird nicht in die TNA verschoben :(
procedure TForm1.GoToTray;
var i: Integer; NewItem: TMenuItem; begin SaveConfig; CoolTrayIcon1.ShowBalloonHint('Einstellungen gespeichert', 'Die Einstellungen wurden erfolgreich gespeichert.', bitNone, 10); Timer1.Enabled:=true; PopupMenu1.Items.Clear; NewItem:=TMenuItem.Create(PopupMenu1); PopupMenu1.Items.Add(NewItem); NewItem.Caption:=('Scannen'); NewItem.OnClick:=PopupItemClickScan; NewItem:=TMenuItem.Create(PopupMenu1); PopupMenu1.Items.Add(NewItem); NewItem.Caption:=('-'); for i:= 0 to ComboBox1.Items.Count-2 do begin gamename:=ComboBox1.Items[i]; NewItem:=TMenuItem.Create(PopupMenu1); PopupMenu1.Items.Add(NewItem); NewItem.Caption:=(gamename); NewItem.OnClick:=PopupItemClick; end; NewItem:=TMenuItem.Create(PopupMenu1); PopupMenu1.Items.Add(NewItem); NewItem.Caption:=('-'); NewItem:=TMenuItem.Create(PopupMenu1); PopupMenu1.Items.Add(NewItem); NewItem.Caption:=('Eintellungen'); NewItem.Default:=true; NewItem.OnClick:=PopupItemClickOptions; NewItem:=TMenuItem.Create(PopupMenu1); PopupMenu1.Items.Add(NewItem); NewItem.Caption:=('Hilfe'); NewItem.OnClick:=PopupItemClickHelp; NewItem:=TMenuItem.Create(PopupMenu1); PopupMenu1.Items.Add(NewItem); NewItem.Caption:=('Beenden'); NewItem.OnClick:=PopupItemClickExit; Application.Minimize; CoolTrayIcon1.PopupMenu:=PopupMenu1; CoolTrayIcon1.HideMainForm; end; Wie bekomme ich sie in die TNA? mfg GimbaR |
Re: Minimiert starten...
Soviel ich weiß besitzt/besaß die CoolTrayIcon Komponente ein OnStartup (oder so) Event, wo du festlegen kannst, ob das Formular angezeigt werden soll oder nicht.
|
Re: Minimiert starten...
habs probiert, ging abba net...
Delphi-Quellcode:
oder:
procedure CoolTrayIcon1.OnStartup(irgendwas^^);
begin GotoTray; end;
Delphi-Quellcode:
procedure CoolTrayIcon1.OnStartup(irgendwas^^);
begin GotoTray; Application.Minimize; end; |
Re: Minimiert starten...
Schreib mal in die Projektdatei:
Delphi-Quellcode:
Application.ShowmainForm := False;
|
Re: Minimiert starten...
hab das mal im project gespeichert (also net in Form1):
Delphi-Quellcode:
hat net geklappt...
begin
Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; Application.ShowmainForm := False; end. muss dass in OnStartUp-Ereigniss von CoolTrayIcon? |
Re: Minimiert starten...
probier mal das showmainform vor das form create
|
Re: Minimiert starten...
Muss nicht unbedingt vor Create sein, Hauptsache vor run :)
Gruß Stephan |
Re: Minimiert starten...
habe die gerade die zweitbeste Lösung gelesen mit
Application.ShowMainForm := False Nachteil: Das OnShow-Ereignis - in dem erst das komplette Handle verfügbar ist - wird nicht mehr durchlaufen. Alternativen wären
Delphi-Quellcode:
oder auch nicht zu verachten mit CreateParams(..).
...
Const ShowArray: array [Boolean] of Integer = (sw_showNormal, sw_Hide); begin if not (csDesigning in ComponentState) then ShowWindow(Application.Handle, ShowArray[FHideTask]); ... richtig gut finde ich aber
Delphi-Quellcode:
Keine Form mehr da. Einfach weg; nix mehr Form anzeigen und ärgern.
program project1;
uses Forms; {$R *.RES} begin Application.Initialize; Application.Run; end; kay |
Re: Minimiert starten...
Die Eigenschaft ShowMainForm kann auch im Create Ereignis der Form gesetzt werden.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin Application.ShowMainForm := False; end; |
Re: Minimiert starten...
Zitat:
Hab das mal so versucht, hat abba auch net geklappt (ganuso wenig wie das Einfügen der Zeile Application.Minimize:=false; im OnCreate-ereigniss der MainForm) :(
Delphi-Quellcode:
program GB;
uses Forms, IniFiles, SysUtils, Dialogs, main in 'units\main.pas' {Form1}, Unit2 in 'units\Unit2.pas' {Form2}; {$R *.res} var ini: TIniFile; begin Application.Initialize; Application.Title := 'GameBuster'; Application.HelpFile := 'E:\sonstiges\Eigene Dateien\CODE\Delphi\GB.beta\GameBuster-help.chm'; ini:=TInifile.Create(ExtractFilePath(ParamStr(0))+'\config.ini'); try if ini.ReadBool('Options', 'StartMinimized', false)=true then Application.ShowMainForm:=false; finally ini.free; end; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz