AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Mehrere Icons nebeneinander darstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere Icons nebeneinander darstellen

Ein Thema von schwa226 · begonnen am 10. Jul 2009 · letzter Beitrag vom 3. Aug 2009
Antwort Antwort
Seite 4 von 4   « Erste     234   
Andreas L.
(Gast)

n/a Beiträge
 
#31

Re: Mehrere Icons nebeneinander darstellen

  Alt 16. Jul 2009, 11:56
Zitat von schwa226:
Jedoch weis ich dann nicht wie ich herausfinden kann, welches Icon gedrückt wurde!?
Wieso verwendest du nicht einfach das OnClick-Ereignis des TToolButtons wie ich es oben schon gepostet habe?
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#32

Re: Mehrere Icons nebeneinander darstellen

  Alt 16. Jul 2009, 15:01
Ich benutze ja die TMS Komponente.

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:
procedure TForm2.OnMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
Sender wie gesagt filtere ich heraus, Button filtere ich nach links/rechts/middle.

Wie bekomme ich die TMessage die ich dann per Sendmessage weiterleiten kann?
  Mit Zitat antworten Zitat
schwa226

Registriert seit: 4. Apr 2008
400 Beiträge
 
#33

Re: Mehrere Icons nebeneinander darstellen

  Alt 3. Aug 2009, 13:04
@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:

IconBar.FIconArray[i].hIcon := CopyIcon(nicData.hIcon); Wobei nicData den Inhalt von TNotifyIconData enthält!

Beim löschen/entfernen eines Icons lösche ich es wieder mit DestroyIcon.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 08:02 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