AGB  ·  Datenschutz  ·  Impressum  







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

Minimierungsprobleme

Ein Thema von emteg · begonnen am 10. Aug 2005 · letzter Beitrag vom 10. Aug 2005
Antwort Antwort
emteg

Registriert seit: 16. Jun 2005
71 Beiträge
 
Delphi 2009 Architect
 
#1

Minimierungsprobleme

  Alt 10. Aug 2005, 01:17
(Sorry, mir ist kein titel eingefallen, der mein problem besser beschreiben könnte)

Mein Programm besteht aus mehreren Forms, die alle unabhängig von einander minimiert werden können und die außerdem einen eigenen taskbar eintragen haben. Außerdem verwendet mein programm ein tray icon.

Mein Ziel ist es, dass sobald mindestens ein form minimiert ist, ein tray icon angezeigt werden soll. Wenn keine form minimiert ist, soll das tray icon wieder verschwinden. Für alle forms soll ein und das selbe tray icon benutzt werden.

Ich benutze Jvcl und das dazugehörende Tray Icon. Ich könnte aber eventl auf das cooltray icon umsteigen, wenn das besser ist.

Und meine frage ist es jetzt, wie ich das erreichen kann. Ich weiß bereits, wie man die verschiedenen forms dazu bringt, einen eigenen taskbar eintrag anzugeigen UND nicht mit dem hauptform minimiert zu werden:

Delphi-Quellcode:
procedure TChannels.CreateParams(var Params: TCreateParams);
begin
  inherited;
  Params.ExStyle:=Params.ExStyle or WS_EX_APPWINDOW;
  Params.WndParent:=GetDesktopWindow;
end;
Mein problem ist halt, dass ich die anderen forms nicht in das selbe tray icon zwingen kann, bzw. einfach den taskbar eintrag ausblenden kann.

Ich hoffe, dass ich mich einigermaßen verständlich ausgedrückt habe
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#2

Re: Minimierungsprobleme

  Alt 10. Aug 2005, 08:43
Das sollte doch nicht so schwer sein:
- Du legst dir ne Public-Variable(Integer) in der MainForm an oder du bastelst dir gleich ne Klasse dafür
- Bei OnMinimize wird diese Variable erhöht
- Bei OnRestore(heißt das so? ) verringert
- Wenn die Variable > 0 Icon zeigen else Icon verstecken
- In deinem Fall würde ich auf die JVCL-Komponente verzichten, da die ja automatisch beim Minimieren das Icon anzeigt(oder?); das dürfte auch bei den anderen Komponenten so sein.
- Such dir also n paar Codeschnipsel, wie man das Icon selbst erzeugt(das findet sich sehr schnell, einfach suchen)
- Wenn du das richtig machen willst steck das in die anfangs erwähnte Klasse und mach dir ne eigene Komponente draus

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
emteg

Registriert seit: 16. Jun 2005
71 Beiträge
 
Delphi 2009 Architect
 
#3

Re: Minimierungsprobleme

  Alt 10. Aug 2005, 13:19
Das mit dem tray icon ist jetzt mal zunächst nicht soo wichtig. Mein hauptanliegen ist es, dass ich das "haupt form" minimieren kann, OHNE dass die anderen forms auch minmiert werden.
Wie mach ich das?
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Minimierungsprobleme

  Alt 10. Aug 2005, 13:26
Zitat von emteg:
Und meine frage ist es jetzt, wie ich das erreichen kann. Ich weiß bereits, wie man die verschiedenen forms dazu bringt, einen eigenen taskbar eintrag anzugeigen UND nicht mit dem hauptform minimiert zu werden
Zitat von emteg:
Das mit dem tray icon ist jetzt mal zunächst nicht soo wichtig. Mein hauptanliegen ist es, dass ich das "haupt form" minimieren kann, OHNE dass die anderen forms auch minmiert werden.
Wie mach ich das?
Wie jetzt? Oben meinste, du hast das mit dem Minimieren schon raus, und es geht um das Tray Icon, und jetzt sagste, das Tray Icon is nebensächlich und es geht ums Minimieren. Entscheid dich mal.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
emteg

Registriert seit: 16. Jun 2005
71 Beiträge
 
Delphi 2009 Architect
 
#5

Re: Minimierungsprobleme

  Alt 10. Aug 2005, 13:46
Sorry, ich bin grade irgendwie nicht ganz beieinander, zuviel

Hast recht, das mit dem hauptform hab ich schon raus. Tatsächlich möchte ich wissen, wie ich in einem form das minimize event abfangen kann und das form dann quasi inkl. taskbar eintrag verstecken kann. Weil mit applicationevents geht das ja nur programmweit.

Ob ich jetzt auch das geschrieben hab was ich auch meine?
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#6

Re: Minimierungsprobleme

  Alt 10. Aug 2005, 15:30
Form Restore / welches Ereignis, Message

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, ... ;

type
  TFormX = class(TForm)
    procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;

  ...

implementation

...

procedure TFormX.WMSysCommand(var Msg: TWMSysCommand);
begin
  case (Msg.CmdType and $FFF0) of
     SC_MINIMIZE: begin
                    TrayIcon.Active := True; // Trayicon Anzeigen
                    FormX.Hide; // Form verstecken
                  end;
     // SC_RESTORE : ;
     // SC_MAXIMIZE: ;
     // SC_CLOSE: ;
     else
       inherited;
  end;
end;
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
emteg

Registriert seit: 16. Jun 2005
71 Beiträge
 
Delphi 2009 Architect
 
#7

Re: Minimierungsprobleme

  Alt 10. Aug 2005, 18:05
Hm...ich krieg da bei dem .hide eine zugriffsverletzung
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#8

Re: Minimierungsprobleme

  Alt 10. Aug 2005, 18:51
Fehler ? Wo, Was ? Sourcecode bitte.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  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 03:32 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