AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Aus TrayIcon Application "steuern"

Ein Thema von Helmi · begonnen am 12. Nov 2005 · letzter Beitrag vom 12. Nov 2005
Antwort Antwort
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.336 Beiträge
 
Delphi XE2 Professional
 
#1

Aus TrayIcon Application "steuern"

  Alt 12. Nov 2005, 13:07
Hallo,

ich habe eine TrayIcon-Komponente, in der ich die Application-Mainform anzeigen lasse oder verstecke.

Beim Anzeigen soll die Form 1. angezeigt werden und 2. gleich in den Vordergrund kommen.

Beim Verstecken soll die Form 1. versteckt werden und 2. auch aus der Taskleiste verschwinden.

Ich hab das mal so gelöst:
Delphi-Quellcode:
procedure TTrayIcon.ShowMainForm;
begin
  with Application do
    begin
      ShowWindow(Handle, SW_SHOW);

      //maximieren
      Restore;

      //Haupt-Form anzeigen
      MainForm.Show;

      //in den Vordergrund bringen
      BringToFront;
    end;
end;

procedure TTrayIcon.HideMainForm;
var
  hwndOwner: HWnd;

begin
  with Application do
    begin
      //minimieren
      Minimize;

      //Haupt-Form verstecken
      MainForm.Hide;

      ShowWindow(Handle, SW_HIDE);

      //Icon aus der Taskleiste verstecken
      hwndOwner := GetWindow(Handle, GW_OWNER);
      ShowWindow(hwndOwner, SW_HIDE);

      //für Windows 2000
      ShowWindowAsync(hwndOwner, SW_HIDE);
      ShowWindowAsync(Handle, SW_HIDE);
    end;
end;
Was mich an diesem Code stört, dass ich "VCL-Code" mit "API-Code" vermische.

Gibt es eine andere, VCL-basierende Lösung?
oder grundsätzlich einen anderen Lösungsweg?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Aus TrayIcon Application "steuern"

  Alt 12. Nov 2005, 15:51
Moin,

schau dir doch mal die CoolTrayIcon-Komponente an.

Ich bin nicht ganz sicher, aber vielleicht gefällt dir die besser.
Schau dir mal die Beispiele an.


MfG
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Aus TrayIcon Application "steuern"

  Alt 12. Nov 2005, 15:59
Zitat von Helmi:
Was mich an diesem Code stört, dass ich "VCL-Code" mit "API-Code" vermische.

Gibt es eine andere, VCL-basierende Lösung?
oder grundsätzlich einen anderen Lösungsweg?
Hallo,

was stört dich daran?

Wenn du eine "VCL-basierende Lösung" benutzt, dann wird genau dieser (oder sehr ähnlicher) Code ebenfalls ausgeführt. Der einzige Unterschied ist dann, daß er in den Methoden dieser Komponente ausgeführt wird.

Welchen Vorteil versprichst du dir davon?

Der einzige Effekt wäre, daß du noch zusätzlichen Code für das Erstellen/Initialisieren/Zerstören der Komponente im Programm hättest.

Ciao,
Ralf
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Aus TrayIcon Application "steuern"

  Alt 12. Nov 2005, 16:14
anstele von ShowWindow kannst du auch das property "visible" nutzen oder die methoden "show" und "hide". Da beim Application Object diese Methoden allerdings nicht vorhanden sind wird dir nix anders überig bleiben als eben die api-Befehle zu nutzen oder von der Klasse TApplication ableiten, methoden hinzufügen (nur methoden, nix weiter) und dann kannst du auch auf Application auf deine neue Klasse casten und die entsprechenden methoden ausführen. Ist aber bedeutend mehr arbeit als einfach die api-befehle direct zu nutzen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz