![]() |
Re: Mehrere Icons nebeneinander darstellen
Zitat:
|
Re: Mehrere Icons nebeneinander darstellen
Ich benutze ja die TMS Komponente. :zwinker:
Jedem Icon wird die gleiche OnMouseDown zugewiesen. Durch Filtern des Senders habe ich dann den Index für mein Array, indem das HWND, HICON, Callback usw drinnen steht. In der OnMouseDown unterscheide ich dann ob linke/rechte/mittlere Mouse Button und schicke dann ein Sendmessage zu dem jeweiligen Hwnd mit z.B. WM_LBUTTONDOWN oder WM_RBUTTONDOWN. Das gleiche natürlich auch mit Up usw. Jedoch spricht mir nicht jedes Icon auf diese Codes an! Das Realtek HD Audio Manager z.B. gar nichts. Kaspersky Icon jedoch funktionert linke und rechte Mouse. Deswegen möchte ich die Message die beim Mouseclick entsteht 1:1 weiterleiten, denn in der originalen TNA geht es ja! so was halt wie: WndProc(var Message: TMessage) Jedoch habe ich beim OnMouseDown nur diese Parameter:
Delphi-Quellcode:
Sender wie gesagt filtere ich heraus, Button filtere ich nach links/rechts/middle.
procedure TForm2.OnMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); Wie bekomme ich die TMessage die ich dann per Sendmessage weiterleiten kann? |
Re: Mehrere Icons nebeneinander darstellen
@turboPASCAL
Habe nun deine Lösung schon eingebaut. Jedoch hatte ich einige Probleme mit den hIcons. Ich bekomme meine Icon Handles über TNotifyIconData. Wenn ich also dem FIconArray dieses Handle zuweise werden nicht alle Icons dargestellt. Gezeichnet werden sie schon, aber sie tauchen nur kurz auf und sind dann wieder nicht sichtbar. Wenn ich zuerst mit CopyIcon eine Kopie erzeuge und dieses Handle zuweise sieht es schon besser aus:
Delphi-Quellcode:
Wobei nicData den Inhalt von TNotifyIconData enthält!
IconBar.FIconArray[i].hIcon := CopyIcon(nicData.hIcon);
Beim löschen/entfernen eines Icons lösche ich es wieder mit DestroyIcon. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 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