Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [TListView] Caption unmittelbar vor dem Editieren ändern (https://www.delphipraxis.net/31153-%5Btlistview%5D-caption-unmittelbar-vor-dem-editieren-aendern.html)

sieppl 5. Okt 2004 09:30


[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:
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;
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.
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 14:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz