06. januar 2002 - 11:45Der er
6 kommentarer og 1 løsning
Højreklik på et ListBoxItem
Jeg har en ListBox med en række items, og når jeg klikker på disse item, skal der komme en PopUp, men KUN når jeg trykker på et Item, dvs. når ListBox.ItemIndex < 0
Jeg har rodet meget med det, uden egentlig at finde en brugbar løsning... Nogen der kan hjælpe..?
Men du skal nok have fat i OnMouseDown eventet, checke om der er højreklikket, regne ud om der er nogle \"Items\" inden for de givne X,Y koordinater og hvis så:
ListBoxen skal ikke have angivet hvilken popup du skal bruge. Desuden skal du sætte PopupMenuens AutoPopup til false, og tilføj dette i onMouseDown på listboxen.
procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var punkt: TPoint; begin ListBox1.ItemIndex := ListBox1.ItemAtPos(Point(X, Y), true); if (ssRight in shift) and (ListBox1.ItemIndex >= 0) then begin GetCursorPos(punkt); PopupMenu1.Popup(punkt.X, punkt.Y); end; end;
morten_S>>hehe...det er bare fordi jeg er så træt af at når man højreklikker på et item som ikke er markeret, så bliver det normalt ikke markeret hvilket jeg synes det burde :)
/SpEeDy
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.