Einzelnen Beitrag anzeigen

Benutzerbild von sieppl
sieppl

Registriert seit: 15. Aug 2004
Ort: Münster
198 Beiträge
 
Delphi 7 Professional
 
#1

[TListView] Caption unmittelbar vor dem Editieren ändern

  Alt 5. Okt 2004, 09:30
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??
Sebastian
  Mit Zitat antworten Zitat