Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Programm minimiert sich nicht beim Start,wo liegt der Fehler
del1312 - Di 31.01.06 11:06
Titel: Programm minimiert sich nicht beim Start,wo liegt der Fehler
hab nen prog welches beim start von windows automatisch geladen wird. wenn man dasn programm minimiert dann verschwindet es im tray. nun wollte es so basteln, das wenn das programm beim winstart geladen wird es gleich im tray verschwindet, aber das klappt nicht.
ich benutze dazu: application.minimize; aber das wird ignoriert. es erscheint zwar das icon im tray aber das fenster bleibt
trotzdem offen. wenn ich jetzt mal zum test nen button anlege und dort den befehl hinterlege dann minimiert es die form
aber beim FormCreate ist der befehl irgendwie nutzlos. wo könnte der fehler liegen?
hier ein stück code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.FormCreate(Sender: TObject); var regist:TRegistry; begin regist:=TRegistry.Create(KEY_READ); regist.RootKey:=HKEY_CURRENT_USER; try regist.OpenKey('Software\Al\',true); Form1.Left:=regist.ReadInteger('Form1.Left'); Form1.Top:=regist.ReadInteger('Form1.Top'); Autostart:=regist.ReadInteger('Autostart'); pfad:=regist.ReadString('Pfad'); except Form1.Left:=400; Form1.Top:=300; Autostart:=0; Pfad:=paramstr(0); end; regist.free; time:=now; label1.Caption :=(TimeToStr(time)); StatusBar1.Panels[1].Text:=(TimeToStr(time)); application.minimize; end; |
Moderiert von
Gausi: Beitragsformatierung überarbeitet.
Danny87 - Di 31.01.06 11:08
probiers mal mit
Delphi-Quelltext
1:
| Form1.WindowState := wsMinimized |
gruss daniel
Stübi - Di 31.01.06 11:11
Könnte daran liegen, dass die Form noch gar nicht existiert (bei onCreate) Du willst was minimieren was nicht existiert.
Stell im Objektinspector der Form den Windowstate auf wsMinimized.
Gruss Stübi
del1312 - Di 31.01.06 11:35
hm das klappt, allerdings sieht man das programm in der taskleiste dann. also ich hab die option drin:
Autostart : ja(1) und nein(0)
wenn autostart nun 1 ist dann wird das programm beim start von windows geladen aber sollte halt im tray sein.
wenn autostart 0 ist, passiert nichts weiter ist klar dann starte ich das prog ja manuell und will auch was sehen.
hier nochmal der code denn ich jetzt angepaßt hab, aber das klappt noch nicht so recht:
Zitat: |
procedure TForm1.FormCreate(Sender: TObject);
var
regist:TRegistry;
begin
regist:=TRegistry.Create(KEY_READ);
regist.RootKey:=HKEY_CURRENT_USER;
try
regist.OpenKey('Software\Al\',true);
Form1.Left:=regist.ReadInteger('Form1.Left');
Form1.Top:=regist.ReadInteger('Form1.Top');
Autostart:=regist.ReadInteger('Autostart');
pfad:=regist.ReadString('Pfad');
except
Form1.Left:=400;
Form1.Top:=300;
Autostart:=0;
Pfad:=paramstr(0);
end;
regist.free;
button3.Enabled :=false;
time:=now;
label1.Caption :=(TimeToStr(time));
StatusBar1.Panels[1].Text:=(TimeToStr(time));
if Autostart=1 then
begin
Form1.FormStyle:=fsStayOnTop;
Hide;
with NIM do begin
cbSize := SizeOf (nIM);
Wnd := Handle;
uID := 0;
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallbackMessage := IC_CLICK;
hIcon := Application.Icon.Handle;
szTip := 'Test-Programm';
end;
Shell_NotifyIcon(NIM_ADD, @NIM);end;
|
wie gesagt das icon im tray erscheint aber das programm versteckt er nicht :o(
Danny87 - Di 31.01.06 11:41
Such mal nach der Komponente CoolTrayIcon. Die hat die Option MinimizeToTray.
del1312 - Di 31.01.06 12:57
hm naja das sieht alles wieder sehr schwierig aus, außerdem will ich ja nur minimieren wenn dsa programm automatisch starten soll, geht das damit auch? normalerweise reichte es doch die form zu verstecken mit hide, aber das tuts nicht
Danny87 - Di 31.01.06 13:04
CoolTrayIcon is eigentlich ganz einfach zu bedienen.
Damit hab ich auch schon Progs geschrieben, die beim Start ins Tray wandern.
Mir ist leider keine andere Möglichkeit bekannt, um das Prog ins Tray wandern zu lassen ohne,
dass mans anderweitig noch sieht. Sry.
gruss daniel
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!