![]() |
popup menu erzeugen
Guten Morgen zusammen..
ich bin ja noch relativ neu hier..deswege verzeiht mir vielleicht meine doofe frage..ich hab zwar schon über die suche was versucht rauszufinden, hab aber nix gscheites gefunden. also ich möchte auf einer listbox ein popup menu erzeugen, beim rechtsklick sollte die zeile automatisch selektiert werden. Als Menupunkt möchte ich Löschen hinzufügen. Die jeweiligen Komponenten werden dynamisch erzeugt. Ich weiß au net, wo ich was hinschreiben muss.. Ich komm in dem Bereich auch mit der Delphi hilfe net wirklich zurecht..also, ich wär euch sehr verbunden..
Delphi-Quellcode:
Vielen Dank schon mal für eure hilfe..
procedure TForm1.FormCreate(Sender: TObject);
{...} pumLoeschen := TPopUpMenu.Create(lbDateiListe); with pumLoeschen do begin parent := lbDateiListe; end; lbDateiListe := TListBox.Create(self); with lbDateiListe do begin parent := self; visible := false; Anchors := [akLeft,akTop,akRight,akBottom]; top := 10; left := 10; width := Form1.Width - 33; height := Form1.Height - 130; Perform(LB_SetHorizontalExtent, 1000, Longint(0)); PopUpMenu := pumLoeschen; OnMouseDown := PopUpMenuMouseDown; end; {...} end; {...} procedure TForm1.PopUpMenuMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var mi : TMenuItem; begin mi:=TMenuItem.Create(pumLoeschen); mi.caption:='Loeschen'; mi.OnClick := DateiLoeschenClick; //habe ich noch nicht geschrieben end; {...} end. |
Re: popup menu erzeugen
HAI Greenie, :hello:
also: egal ob dynamisch erzeugt oder nicht das muß gleich funtionieren! -popup 1 POPUpmenu und Listbox anlegen 2 Listbox.PopupMenu := POPUpmenu -selectieren das mit dem selektieren mußt du seperat angehen. es kann sein das selektieren und popup sich gegenseitig behindern, dann muß die das im OnMouseDown ereignis machen. Bau erst mal das ganze statisch nach und wenn alles zu deiner zufriedenheit funkt dann bau das in deine dynamischen routienen ein. gruß jörg |
Re: popup menu erzeugen
das mit dem popup menu hab ich jetzt hinbekommen..danke für den tip mit der reihenfolge..
könnte mir jemand noch helfen wie ich das mit dem automatischen selektieren lösen könnte? ich lade mehrere Dateipfade in die listbox und mit dem rechtsklick und dem popup möchte ich einzelne einträge löschen können..dazu brauch ich doch Tlistbox.deletselected oder?? aber wie makier ich mit dem rechtsklick den jeweiligen eintrag?? vielen dank schon mal.. |
Re: popup menu erzeugen
Delphi-Quellcode:
:feuerchen:
// Selection mit Rechter Maustaste
procedure TTEST_Frame.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var exi : Boolean; row : integer; point : Tpoint; begin if Button = mbRight then begin point.X := x; point.Y := y; row := ListBox1.ItemAtPos(point,exi); if exi and (row > -1) then ListBox1.Selected[row] := true; end; end; Gruß Jörg |
Re: popup menu erzeugen
@yörsch
vielen vielen dank für dein Beispiel..habs super einbauen können!!!!!!!!!!!! |
Re: popup menu erzeugen
kein problem :-D
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 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