![]() |
ListBox => ItemAtPos-Probleme
Hallo D'ler.
Mit folgendem Code kann ich mir die Position eines Items in einer ListBox anzeigen lassen (PopUpMenu)
Delphi-Quellcode:
Das Problem besteht jetzt darin, dass ich nicht den Namen ([Name]) des Items und dessen
procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); var Idx: Integer; Name: String; begin Idx := ListBox1.ItemAtPos(Point(X,Y), True); if Idx<>-1 then begin Titel1.Caption := Format('%d', [Idx]); Name1.Caption := Format('%s', [Name]); Ordner1.Caption := Format('%s', [Dir]); end else Titel1.Caption := 'Keine Angabe'; Name1.Caption := 'Keine Angabe'; Ordner1.Caption := 'Keine Angabe'; end; Speicherort ([Dir]) angezeigt bekomme. Was mache ich falsch? |
Re: ListBox => ItemAtPos-Probleme
Hallo,
erstmal fehlt nach dem else begin und end. Woher kommen denn [Dir] und [Name]? Ich zitiere aus der OH, was ItemAtPos macht: OH: Mit ItemAtPos können Sie feststellen, ob an einer bestimmten Stelle des Steuerelements ein Eintrag vorhanden ist. Der Parameter Pos gibt in Koordinaten relativ zum Fenster den Punkt innerhalb des Steuerelements an. Wenn Pos unterhalb des letzten Eintrags liegt, bestimmt der Parameter Existing den Rückgabewert. Wenn Existing true ist, gibt ItemAtPos -1 zurück, was bedeutet, dass an diesem Punkt kein Eintrag vorhanden ist. Ist Existing false, gibt ItemAtPos den um 1 erhöhten Index des letzten Eintrags zurück. |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Sonstige Fragen zu Delphi" nach "VCL / WinForms / Controls" verschoben.
Es geht um eine TListBox -> VCL |
Re: ListBox => ItemAtPos-Probleme
Alt:
Delphi-Quellcode:
Also den Inhalt von diesem ListboxItem bekommst du mit:
Name1.Caption := Format('%s', [Name]);
Neu:
Delphi-Quellcode:
Format brauchst du nicht.
Name1.Caption := ListBox1.Items[idx];
Da weiß ich nicht was meinst!???
Delphi-Quellcode:
Ordner1.Caption := Format('%s', [Dir]); ???
|
Re: ListBox => ItemAtPos-Probleme
Was ItemAtPos macht wusste ich, es wahr tatsächlich das Begin und End :/
Jetzt aber noch etwas anderes: Ich bekomme bei Name1.Caption := ListBox1.Items[Idx]; einen kompletten Pfad zurück. Ich habe damals schon etwas mit Canvas herumgespielt wobei man den Pfad kürzen konnte. Ist es aber auch irgentwie möglich das noch in Name1.Caption := ListBox1.Items[Idx]; zu integrieren? (ExtraxtFileName) Edit: Wieso frage ich eigentlich? Name1.Caption := ExtractFilename(ListBox1.Items[Idx]); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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