![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выделение ;в ListView
Ranikin © (2003-01-14 16:07:00)Как выделить строку в ListView ?
Например :
procedure TForm1.ListView1DblClick(Sender: TObject);
begin
if (Not TListItem(Sender).Checked) Then begin
TListItem(Sender).Checked:= True;
ListView1.Canvas.Brush.Color:=clAqua;
ListView1.Canvas.Font.Color:= clBlack;
end Else begin
TListItem(Sender).Checked:= False;
ListView1.Canvas.Brush.Color:=clWhite;
ListView1.Canvas.Font.Color:= clBlack;
End;
Так как покрасить элемент ?
ZEE (2003-01-14 17:26:00) [1]
...
ListView1.OwnerDraw:=true;
...
ListView1DrawItem(...);
begin
TListItem(Sender).Checked:=not TListItem(Sender).Checked;
if TListItem(Sender).Checked then
begin
ACanvas.Canvas.Brush.Color:=clAqua;
ACanvas.Canvas.Font.Color:=clBlack;
ACanvas.TextOut(...);
end else
begin
ACanvas.Canvas.Brush.Color:=clWhite;
ACanvas.Canvas.Font.Color:=clBlack;
ACanvas.TextOut(...);
end;
end;
Примерно так
Ranikin (2003-01-14 16:36:00) [2]Если перенести в OnDrawItem и поставить в OnClick
ListView.OwnerDraw := True то перерисовка происходит только один раз и все...
pusrg (2003-01-14 16:22:00) [3]Перенеси код в OnDrawItem или OnCustomDrawItem