![]() |
ListBox & PopUp: ausgewähltes Item feststellen
Hallo;
mit der Eingenschaft PopupMenu einer Listbox kann ich ein Popup-Menü erzeugen, das mit einem rechten Mausklick geöffnet werden kann. Doch wie kann ich feststellen bei welchem Item rechtsgeklickt wurde? Tubos |
Re: ListBox & PopUp: ausgewähltes Item feststellen
Es gibt zu jedem
![]() |
Re: ListBox & PopUp: ausgewähltes Item feststellen
Zitat:
Das ganze ist die Userliste in meinem Chat, wenn man da mit der rechten Maustaste auf einen Nick klickt soll ein Popup-Menü aufpoppen wo man auf "Infos" klicken kann und dann Informationen über den User aufgelistet werden. Nur muss ich dazu wissen wer ausgewählt wurde! (nur festzustellen, welcher eintrag jetzt gerade markiert ist, nützt überhaupt nichts) |
Re: ListBox & PopUp: ausgewähltes Item feststellen
Vermutlich mit
![]() |
Re: ListBox & PopUp: ausgewähltes Item feststellen
Hi Francis,
Zitat:
Sieh dir dazu TListBox.ItemAtPos und TPopupMenu.PopupPoint an. Greetz alcaeus |
Re: ListBox & PopUp: ausgewähltes Item feststellen
Zitat:
Und wie kann ich machen dass das Item automatisch markiert wird wenn ich es mit der rechten Maustaste anklicke? Das würde nämlich besser aussehen, meiner Meinunge nach. Muss ich das auch selber machen oder gibt es dafür bereits etwas? |
Re: ListBox & PopUp: ausgewähltes Item feststellen
Hi Lukas,
du müsstest in dem Fall die Zuweisung des PopupMenus aufheben, und im OnMouseUp ItemIndex mit Hilfe von ItemAtPos zuweisen, und anschließend das PopupMenu manuell mit PopupMenu1.Popup öffnen. Aber vielleicht habe ich auch nur eine Eigenschaft der ListBox übersehen, ich hab hier leider kein Delphi. Greetz alcaeus |
Re: ListBox & PopUp: ausgewähltes Item feststellen
Was ist an dem Code falsch?
Delphi-Quellcode:
item1 ist ein Item des Popup-Menüs.
procedure TForm1.item1Click(Sender: TObject);
begin showmessage('Sie haben auf Nr. '+inttostr(userlist.ItemAtPos(popupmenu1.popuppoint,true)) +' geklickt'); end; Es wird ständig -1 angezeigt. |
Re: ListBox & PopUp: ausgewähltes Item feststellen
Hai Tubos,
versuche es mal so:
Delphi-Quellcode:
Dabei darf das Popup-Menü aber nicht mit der Listbox verknüpft sein.
procedure TForm1.ListBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); var point : TPoint; lbpos : TPoint; begin if Button In [mbRight] then begin point.X := x; point.Y := y; ListBox1.ItemIndex := ListBox1.ItemAtPos(point,true); lbpos.X := Listbox1.Left + self.Left + x; lbpos.y := Listbox1.top + self.top + y; PopupMenu1.Popup(lbpos.x,lbpos.y); end; end; |
Re: ListBox & PopUp: ausgewähltes Item feststellen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 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