![]() |
PopupMenu SubMenu öffnen
Hallo,
ich möchte ein nach einem Klick auf einen Menüpunkt im PopupMenu das Menü an der gleichen Stelle wieder öffnen. Das mache ich im onclick Ereignis des MenüItems mit :
Delphi-Quellcode:
PopUpM1.Popup(PopUpM1.PopupPoint.X,PopUpM1.PopupPoint.Y);
das klappt so weit auch prima mit dem PopUpMenu selbst. Ich möchte aber auch das Submenü öffnen wenn das geklickte Item in einem Submenü war. Könnt Ihr mir einen Tipp dazu geben wie ich das lösen kann. Thanks |
AW: PopupMenu SubMenu öffnen
hat keiner eine Idee?
|
AW: PopupMenu SubMenu öffnen
ich kann einfach nicht warten :oops:
1. [] dumme Frage 2. [] falsches Forum 3. [] wurde schon X mal behandelt (nicht schon wieder) 4. [] unlösbare Aufgabe 5. [] streng Dich selber mehr an 6. [] Antwort:__________________________________________ ____ Ich komm einfach nicht selbst drauf :? Hat denn Niemand einen Tipp? |
AW: PopupMenu SubMenu öffnen
Hallo,
auch wenn ich dir nicht wirklich weiterhelfen kann, aber ich glaube das geht nicht. Ich habe jetzt einiges probiert, mit SendMessage etc., aber man kann nur das PopUp selbst anzeigen lassen, aber keinen SubItem. Die Frage ist aber auch, warum das überhaupt wollen? Mit der Maus musst du ja sowieso ins PopUp klicken |
AW: PopupMenu SubMenu öffnen
Hallo Helmi,
danke für Deine Antwort. Ich hab auch schon so viel probiert, aber es geht nicht. Ich dachte "einer" muss es doch schon mal hinbekommen haben. Ich möchte das Verhalten so implementieren das bei gedrückter Strg Taste das Menü nach einem Klick offen bleibt. Ich füge damit Werte in einer Tabelle ein. Und manchmal ist es halt erforderlich mehr wie einen Wert einzufügen. Dann ist es lästig das Menü immer neu aufzurufen. Vielleicht findet sich ja noch eine Lösung |
AW: PopupMenu SubMenu öffnen
das einzige was mir dabei einfällt, wäre, die SubItems aufzulösen und sie im "normalen" PopUp einzubauen und dann mitels PopUpMenu.PopUp(x,y) anzeigen zu lassen
|
AW: PopupMenu SubMenu öffnen
hab ich auch schon dran gedacht.
Hat aber auch nicht geklappt:cry: |
AW: PopupMenu SubMenu öffnen
Zitat:
|
AW: PopupMenu SubMenu öffnen
Es bleibt einfach das "Hauptmenü" offen.
sonst passiert nichts, nicht mal ein Error
Delphi-Quellcode:
//ein einfacher Test
PopUpM1.Popup(PopUpM1.PopupPoint.X,PopUpM1.PopupPoint.Y); TPopupMenu(TMenuItem(Sender)).Popup(PopUpM1.PopupPoint.X + 20,PopUpM1.PopupPoint.Y + 20); |
AW: PopupMenu SubMenu öffnen
das Hauptmenü mein ich ja
|
AW: PopupMenu SubMenu öffnen
Sorry da hab ich wohl nicht aufmerksam genug gelesen.
Aber das Hauptmenü bekomme ich ja auch schon ordentlich angezeigt. Ich dachte jetzt daran aus dem Submenü ein zweites Hauptmenü zu machen und dann an der richtigen Position einzublenden. Alles im Hauptmenü anzuzeigen ist leider keine Option für mich |
AW: PopupMenu SubMenu öffnen
vielleicht hilft dir das weiter (was ich jetzt nicht ganz glaube):
![]() |
AW: PopupMenu SubMenu öffnen
Leider hilft es nicht.
Schade. Ich bekomme zwar das SubMenü angezeigt aber dafür wird das Hauptmenü ausgeblendet. Außerdem funktioniert auch das erst wenn ich das zweite mal auf den Submenüeintrag klicke :?:
Delphi-Quellcode:
//die Position stimmt so natürlich auch noch nicht
PopUpM1.Popup(PopUpM1.PopupPoint.X,PopUpM1.PopupPoint.Y); TrackPopupMenu(TMenuItem(Sender).Parent.Handle, TPM_LEFTBUTTON or TPM_LEFTALIGN, PopUpM1.PopupPoint.X + 50,PopUpM1.PopupPoint.Y + 40, 0, self.Handle, Nil); |
AW: PopupMenu SubMenu öffnen
was passiert, wenn du
Delphi-Quellcode:
mal weg lässt?
PopUpM1.Popup(PopUpM1.PopupPoint.X,PopUpM1.PopupPoint.Y);
|
AW: PopupMenu SubMenu öffnen
Dann geht das Submenü auf aber das Hauptmenü wird nicht angezeigt.
Das ganze funktioniert dann auch nur einmal. Beim nächsten Klick ist dann auch das Submenü weg. Und ich dachte ich mach das mal eben das muss doch auch irgendwie funktionieren :roll: |
AW: PopupMenu SubMenu öffnen
Wie wäre es, den gewünschten SubMenü-Punkten Hotkeys zu verpassen, so daß der Anwender nicht jedesmal diese Submenüs mit der Maus anfahren muß?
|
AW: PopupMenu SubMenu öffnen
Zitat:
ohne es jedesmal mit der Maus aktivieren zu müssen. Ein Beispiel für diese Methode kannst in meinem ![]() Oder schau mal hier.. ![]() gruss |
AW: PopupMenu SubMenu öffnen
Liste der Anhänge anzeigen (Anzahl: 1)
Vielen Dank für Eure Tipps.
Leider bekomme ich es trotzdem noch nicht richtig hin. Folgendes klappt aber schon mal: (nutze die SendKeys.pas danke an EWeiss dafür) Das Submenü wird angezeigt, allerdings immer erst beim zweiten klick in einen Submenüeintrag. Beim ersten klick wird nur das "Popup Hauptmenü" angezeigt. Ab dem zweiten klick wird das Hauptmenü und das Submenü angezeigt, fast so wie ich es haben möchte. Nur das der Parent auch nicht immer richtig erkannt wird. Klickt man erst im ersten Submenü und dann im zweiten wird auch das ersteSubmenü aufgerufen. Sehr eigenartig. Ich habe mal ein kleines Testprojekt angehangen. Vielleicht kann es sich ja mal jemand ansehen. Das wäre echt prima. |
AW: PopupMenu SubMenu öffnen
Es scheint keine befriedigende Lösung zu geben.
Daher werde ich das Problem mit einer eigenen Komponente lösen. Danke für Eure Hilfe |
AW: PopupMenu SubMenu öffnen
Das schien mir von Anfang an die beste Lösung zu sein, denn irgendwelche PopupMenus mit Strg offen zu halten ist irgendwie nicht besonders intuitiv.
Vielleicht geht ja was mit einer TreeView-Komponente. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:46 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