Hallo DelphiFreunde!
ACHTUNG!!! Titel war missverständlich! Besser: Markieren mit Rechtsklick klappt nur bei 1. Mal - Popupmenü stört??
I machs kurz:
Popupmenu erscheint bei rechtsklick auf Listbox-
Item unter Maus markiere ich im OnMousMove-Ereignis.
Klappt bestens beim 1. Mal.
Wähle ich(bei noch geöffnetem Popup) einen anderen Lb-Eintrag,
während ich das Popup ignoriere, wird das Item unter der Maus nicht mehr markiert.
Muss dann mehrere Male auf andere Items klicken bis irgendwann wieder markiert wird.
Die 'Macke' tritt auf ab 2. RechtsKlick.
Hab nach ner Möglichkeit gesucht, das Popup manuell auszublenden, nix klappt.
Is ja wat nervig.
Wenn ich nach jedem erscheinen einen popMenü-Eintrag anwähle denn is ok.
Aber ich kann mich doch mal verklickt- und dat falsche Item angewählt haben..
Nach jedem Erscheinen kann ich das Popup auch per Esc-Taste ausblenden,
dann klappt auch das Markieren mit rechtskl. wieder.
Mit einem Satz: solange das Popup zu sehen ist, läßt sich kein Item per Rechtsklick markieren. ufff
Jedenfalls nicht mit meiner Methode(Code unten)
DANKE IM VORAUS!!!
Gruß Uli
// Mit Rechtsklick Markieren
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm2.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button=mbRight then begin Listbox1.ItemIndex:=_Lb1II; end; end;
procedure TForm2.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer); var pt: TPoint; begin pt.X := X; pt.Y := Y; _Lb1II:= Listbox1.ItemAtPos(pt, True); end; |