AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ListBox & PopUp: ausgewähltes Item feststellen
Thema durchsuchen
Ansicht
Themen-Optionen

ListBox & PopUp: ausgewähltes Item feststellen

Ein Thema von Tubos · begonnen am 12. Sep 2004 · letzter Beitrag vom 13. Sep 2004
Antwort Antwort
Seite 1 von 2  1 2      
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#1

ListBox & PopUp: ausgewähltes Item feststellen

  Alt 12. Sep 2004, 15:24
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
Lukas
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: ListBox & PopUp: ausgewähltes Item feststellen

  Alt 12. Sep 2004, 15:25
Es gibt zu jedem Delphi-Referenz durchsuchenTMenuItem ein OnClick-Methode. Wenn du die belegst, zusammen mit einer anderen unverwechselbaren Eigenschaft pro Item, findest du's durch checken ganz einfach raus.
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#3

Re: ListBox & PopUp: ausgewähltes Item feststellen

  Alt 12. Sep 2004, 15:53
Zitat:
Es gibt zu jedem TMenuItem ein OnClick-Methode. Wenn du die belegst, zusammen mit einer anderen unverwechselbaren Eigenschaft pro Item, findest du's durch checken ganz einfach raus.
Ich meinte nicht das Menü-Item, das gewählt wurde, sondern das Listbox-Item, bei dem das Popupmenü aufgerufen wurde.

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)
Lukas
  Mit Zitat antworten Zitat
mytar

Registriert seit: 30. Mai 2004
Ort: Zermatt
411 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: ListBox & PopUp: ausgewähltes Item feststellen

  Alt 12. Sep 2004, 15:55
Vermutlich mit Delphi-Referenz durchsuchenTListBox.ItemIndex!
Francis Obikwelu
greetz
mytar
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: ListBox & PopUp: ausgewähltes Item feststellen

  Alt 12. Sep 2004, 16:10
Hi Francis,

Zitat von mytar:
Vermutlich mit Delphi-Referenz durchsuchenTListBox.ItemIndex!
Das muss nicht unbedingt sein. Wenn du rechts auf ein Item klickst, welches nicht ausgewählt war, so ist dieses immer noch nicht ausgewählt. ItemIndex gibt dir zwar den Index des ausgewählten Items, welcher aber nicht unbedingt jenes Item ist, auf das geklickt wurde um das PopupMenu zu öffnen.
Sieh dir dazu TListBox.ItemAtPos und TPopupMenu.PopupPoint an.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#6

Re: ListBox & PopUp: ausgewähltes Item feststellen

  Alt 12. Sep 2004, 18:43
Zitat:
Sieh dir dazu TListBox.ItemAtPos und TPopupMenu.PopupPoint an.
Ok, dann muss ich es wohl selbst machen. Dachte es gäbe da eine vorgefertigte Methode.

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?
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: ListBox & PopUp: ausgewähltes Item feststellen

  Alt 12. Sep 2004, 19:22
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#8

Re: ListBox & PopUp: ausgewähltes Item feststellen

  Alt 12. Sep 2004, 22:49
Was ist an dem Code falsch?

Delphi-Quellcode:
procedure TForm1.item1Click(Sender: TObject);
begin
 showmessage('Sie haben auf Nr. '+inttostr(userlist.ItemAtPos(popupmenu1.popuppoint,true)) +' geklickt');
end;
item1 ist ein Item des Popup-Menüs.

Es wird ständig -1 angezeigt.
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#9

Re: ListBox & PopUp: ausgewähltes Item feststellen

  Alt 13. Sep 2004, 06:46
Hai Tubos,
versuche es mal so:
Delphi-Quellcode:
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;
Dabei darf das Popup-Menü aber nicht mit der Listbox verknüpft sein.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#10

Re: ListBox & PopUp: ausgewähltes Item feststellen

  Alt 13. Sep 2004, 06:53
Zitat:
Dabei darf das Popup-Menü aber nicht mit der Listbox verknüpft sein.
Ist es aber
Lukas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:09 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