Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Shark99,
28. Jul 2015
Beim neuesten Beispiel ist eine Zeile anders zu dem zuvor:
http://i.imgur.com/0Vfi4We.png
und es funktioniert!
Danke sehr! :-D
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Shark99,
28. Jul 2015
Hab dein Beispielprojekt eben getestet und es funktioniert nicht. Wenn ich im sd-Untermenü auf einen der Einträge rechtsklicke passiert nichts.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Shark99,
28. Jul 2015
Das ist doch exakt der gleiche Code den ich im ersten Post beschrieben hab.
Er hat zwei Probleme.
1. Sobald bei einem Item Visible = False ist passt die Zuordnung nicht mehr. Das Problem habe ich behoben.
2. Es funktioniert nicht wenn das Popupmenu ein Submenü hat (im Submenü kann nichts rechtsgeklickt werden).
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Shark99,
28. Jul 2015
Neue Erkentniss. WM_MENURBUTTONUP wird nicht ausgelöst, weil die Mainform nicht der Parent eines Popupmenü ist, sondern ein verstecktes Fenster. Die Message kommt statt dessen bei PopupList.WndProc() an. Dort muss man sich hooken und kann dann darauf reagieren. Leider trifft es nicht für Submenus eines Popupmenüs zu. Da wird MENURBUTTONUP nicht bei PopupList.WndProc() ausgelöst.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Shark99,
28. Jul 2015
Das stimmt, allerdings bekommt man 2+ Popupmenüs angezeigt, und zwar auch beim Linksklicks.
TrackPopupMenuEx() zeigt zwangsläufig das Menü an. Man kann aber .Popup() durch TrackPopupMenuEx() nicht ersetzen, weil TrackPopupMenuEx() keine Events auslöst (kein OnPopup etc).
p.s.
Habe nun versucht WM_MENURBUTTONUP in WndProc() abzufangen und dort einen Timer für 500ms zu starten damit ich...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Shark99,
28. Jul 2015
Verstehe ehrlich gesagt den Sinn deines Codes nicht. Damit geht bei jedem Klick das Popupmenü nochmal auf, und zwar auch beim Linksklick.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Shark99,
28. Jul 2015
Ich habe doch gepostet dass ich Code gefunden hab und sogar zu Stackoverflow gelinkt. Die RCPopupMenu Lösung (hab gleichen Code verlinkt wie dein DelphiPages Link) funktioniert nicht sobald man entweder Menüeinträge dymanisch erzeugt oder einige per Visible nicht anzeigt.
Die zweite Lösung mit WM_MENURBUTTONUP hab ich auch versucht. Hätte es mit dazu schreiben sollen.
Mit WM_MENURBUTTONUP...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Shark99,
28. Jul 2015
Es gibt diese Funktionalität durchaus in Windows Menüs, sogar in Microsoft Programmen. in Microsoft Office 2007 kann man Menüeinträge rechtsklicken um das Menü anzupassen. Auch im Internet Explorer im Favoriten Menü kann man die Einträge rechtsklicken. Im Firefox funktioniert es auch. In meinem Fall wird es direkt in Programmfenster erkärt dass es geht. Das Feature will ich einbauen weil sehr...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Shark99,
27. Jul 2015
Ich will ein PopupMenu bei dem man einen Eintrag auch rechtsklicken kann. Es wird dann eine andere Funktion ausgeführt als beim Linksklick.
Die Googlesuche brachte nicht wirklich was brauchbares.
Hier gibt es Code für ein RCPopupmenu. http://stackoverflow.com/questions/13041782/detect-left-right-mouse-button-on-menu-item-click
Das Problem ist dass es nicht richtig funktioniert. Ich...