Hallo,
Zitat:
ich habe [...] Die ReadOnly-Eigenschaft ist deshalb aktiviert. Trotzdem kann der Anwender einzelne Einträge in Spalten selektieren
himitsu erwähnte schon, dass die
ReadOnly
-Property nun gar nichts mit der Selektion von Listeneinträgen zu tun hat; diese Property beeinflusst nur das Verhalten - änderbar oder eben nicht - der Property
Caption
eines Listeneintrags.
Zitat:
Gibt es eine Möglichkeit, die Selektierung zu unterbinden? [...]
Ich sag mal: himitsus Vorschlag
OnChanging
wird vermutlich Dein Freund sein. Ein:
Delphi-Quellcode:
procedure TForm1.ListView1Changing(Sender: TObject; Item: TListItem; Change: TItemChange; var AllowChange: Boolean);
begin
AllowChange := False
end;
unterbindet jede Änderung am entsprechenden Listeneintrag; und, wenn das "Hovering" (ich glaube ab Windows Vista) der Listeneinträge stören sollte, dann mit:
Delphi-Quellcode:
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage; var DefaultDraw: Boolean);
var
r : TRect;
c : TCanvas;
begin
if (cdsHot in State) and (Stage = cdPostPaint) then
begin
r := Item.DisplayRect (drSelectBounds);
c := ListView1.Canvas;
c.FillRect (r);
Inc (r.Left, 2);
Inc (r.Top, 2);
c.TextOut (r.Left, r.Top, Item.Caption)
end
end;
"abschalten".
Gruß