![]() |
[TListView] Caption unmittelbar vor dem Editieren ändern
Hallo,
ich habe meine eigene TListView-Klasse abgeleitet. Es soll später eine Komponente werden. Die List zeigt Thumbnails von Bildern an. Zusätzlich zum Dateinamen wird die Bildgröße in der Caption angezeigt. Wenn die Caption nun in den EditText-Modus wechselt (2 x LinksKlick, aber kein Doppelklick) dann soll die Caption gegen den korrekten Dateinamen getauscht werden.
Delphi-Quellcode:
Dafür habe ich CanEdit überschrieben. Diese wird aufgerufen, auch zum richtigen Zeitpunkt, die Caption wird auch geändert, aber die Änderung wird erst sichtbar nachdem der User den EditMode wieder verlassen hat. Ich habe mit UpdateItems versucht die Änderung vorher sichtbar zu machen, scheint aber nicht das richtige zu sein.
function TImgStdListView.CanEdit(Item: TListItem): Boolean;
begin Item.Caption := TListItemData(FObjectList[GetItemIndex(Item)]).FFileName; //funktioniert UpdateItems(GetItemIndex(Item), GetItemIndex(Item)); //wird hier aber nicht sichtbar gemacht Result := inherited CanEdit(Item); //wenn Result True wird inplace-Editor akitiviert end; Wer kann es besser? :) Grüße Sebastian [Nachschlag:] Ich habe gerade mal in ComCtrls geschaut, genauer CNNotify. CanEdit scheint einfach zu spät zu sein, um einzugreifen. Gibt es eine Windows Message für den separierten Doppelklick?? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:18 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