Einzelnen Beitrag anzeigen

WilderMike

Registriert seit: 18. Nov 2024
12 Beiträge
 
#3

AW: TPopupMenu Border selbst zeichnen?

  Alt 24. Nov 2024, 09:30
Zwar etwas probiert aber die Finger sind noch dran
Ich habe jetzt eine 2. Form genommen. Damit kann man ja mit „bsNone“ usw. alles eliminieren und mit dieser Form sein eigenes Ding machen. Die rufe ich auf, wenn auf ein Tray Icon geklickt wird. Geht eigentlich soweit alles. Aber sozusagen dieses „einfangen“ geht noch nicht. Also es gibt ja verstecke Tray Icons von Windows, die mit dem Pfeil in der Taskleiste eingeblendet werden können. Dort ist zurzeit mein TrayIcon von Delphi drin. Wenn der Bereich offen ist, kann ich auf mein Tray Icon klicken. Aber der Bereich schließt sich automatisch wieder, wenn der Mauszeiger zu meinem falschen Popupmenü (meine 2. Form) bewegt wird. Bei einem richtigen Popupmenü bleibt der Bereich noch offen und schließt sich erst, wenn ein Menüeintrag vom Popupmenü ausgewählt wurde.
So eine Form als Popupmenü gefällt mir richtig gut. Erstens können die Farben angepasst werden und der Inhalt muss nicht nur aus nachprogrammierten Menüs bestehen, sondern man kann damit alles Mögliche machen.
Um diesen verstecken Tray Icon Bereich von Windows offen halten zu können, benötigt es wohl wilden Code. *lach

Die Idee mit einem Dummy Popupmenu
Code:
Form2.show;
popupmenu1.Popup(-100,-100);
form2.SetFocus; // geht so nicht
geht schon mal nicht. Erstens lässt sich das Popupmenü nicht außerhalb des Bildschirmes setzen (das wäre wichtig) und zweitens verliert meine 2. Form den Fokus dabei. Diesen Fokus bräuchte ich z.B. für WM_MOUSELEAVE und WM_MOUSEHOVER aber solange das Dummy PopupMenu offen ist, kann ich kein Fokus setzen. Zumindest bleibt der versteckte Tray Icon Bereich von Windows hier offen. Aber die halbe funktionierende Idee mit dem Dummy Popup bringt dann ja auch nichts.

Aber Danke für deine Antwort. Hätte ja sein können, dass es nicht so schwer ist, ein TPopupmenu komplett selber bemalen zu können (auch den Rahmen). Das mit der 2. Form gefällt mir jetzt sowieso besser aber nur das beschriebene Problem bleibt. Da muss ich noch mal drüber nachdenken

Gruß WilderMike
  Mit Zitat antworten Zitat