![]() |
Delphi-Version: 5
EditCaption - markieren ohne Extension
Hallo,
mir fehlt hier die Umsetzungsidee? -> Ich habe eine ListView mit Dateinamen und möchte einen Eintrag markieren (EditCaption), jedoch ohne die Extension. Z.B. Dateiname lautet: "Filename.txt" und davon soll dann nur markiert werden "Filename". Ich nutze Delphi 11 Community Edition. Lieben Dank für Hilfe(ansatz), Migo |
AW: EditCaption - markieren ohne Extension
* letzten Punkt suchen
* oder ![]() ![]() * oder ![]() * oder ![]() * oder ... ![]() und schon weißt du, was oder wie weit markiert werden muß. Aber eventuell/vermutlich mußt du dann auch noch ein CustomDraw nutzen, um die Items selbst zu markieren malen. ![]() |
AW: EditCaption - markieren ohne Extension
Das dürfte mit der normalen VCL TListView nicht so einfach möglich sein. Ich empfehle die TVirtualStringTree:
![]() Da kannst du z.B. einen eigenen Editor erstellen, mit dem du die Erweiterung entfernst vor dem Editieren und wieder hinzufügst nach dem Editieren, nur entsprechend markierst, usw., hast aber auch Events wie OnEditing, OnEditCancelled, OnEdited. Die Einarbeitung dauert zwar länger, aber es lohnt sich. |
AW: EditCaption - markieren ohne Extension
Hilft Dir das vielleicht weiter?
Delphi-Quellcode:
procedure TFormXYZ.ListView1Editing(Sender: TObject; Item: TListItem;
var AllowEdit: Boolean); var name, ext, new: string; begin ext := ExtractFileExt(Item.Caption); name := Copy(Item.Caption, 1, Length(Item.Caption) - Length(Ext)); new := InputBox('Edit name...', 'Modify', name); Item.Caption := new + ext; AllowEdit := False; end; |
AW: EditCaption - markieren ohne Extension
Du könntest anstelle von
Delphi-Quellcode:
direkt
TListItem.EditCaption
Delphi-Quellcode:
aufrufen. Dessen Rückgabewert ist das Handle der Editbox. Damit könntest du vermutlich auf API-Ebene den gewünschten Text vorselektieren.
ListView_EditLabel
|
AW: EditCaption - markieren ohne Extension
Vielen Dank an alle für die Hinweise. Ich arbeite alle mal ab...
Viele Grüße, Migo |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 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