![]() |
Delphi-Version: XE4
Komponente verschiedene Popupmenus zuweisen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich will meiner Komponente Urlaubskalender verschiedene Popupmenus über den ObjectInspector zuweisen lassen, und zwar eins für den linken Bereich, wo die Namen stehen, eins für die Datumsfelder oben und eins für das Grid. Wie mach man sowas? Der Komponente generell ein Popupmenu zuweise ist kein Problem, aber ich weiß nicht wir ich das für die jeweiligen Zeichenbereiche mache. Die jeweiligen Bereiche sind Paintboxen.
Aufteilung ist so wie in dem Bild. |
AW: Komponente verschiedene Popupmenus zuweisen
Moin!
Ich würde mit "onMouseDown" prüfen,
Noch nie gemacht und weiß nicht obs klappt, aber das wäre mal meine Versuche ob Theorie und Praxis passen :) |
AW: Komponente verschiedene Popupmenus zuweisen
Was genau ist Dein Problem?
Du kannst die Eigenschaften PopupMenuLeft und PopupMenuRight analog PopupMenu einrichen. Beim Zeichnen Deiner Komponente und bei Änderungen der Popup-Zuweisungen (im Setter) weist Du den gewünschten Controls das jeweilige PopupMenu zu. Wenn die Bereiche kein Handle haben wird es schwieriger - so wie Metschu sagt. Dann musst Du das Mausereignis abfangen und selbst eins Deiner PopupMenus an einer Mausposition öffnen. |
AW: Komponente verschiedene Popupmenus zuweisen
Man kann im OnMouseMove an dem Popup-Property rumspielen, aber das kann eventuell mal nicht richtig "zeitlich" positiniert sein.
Man kann im OnMouseUp selber manuell die ![]() Aber eigentlich wäre es besser im WM_MENU (oder wie die Message heißt) auf das Popup-Event zu reagieren, denn ein Popup kann man nicht nur durch Mausklick aufrufen. Man kann im OnPopup des "einen" Popups die sichtbarkeit der Items entsprechend der aktuellen Funktion sichtbar machen, bzw. die entsprechenden Items dynamisch erstellen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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