Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выделение ;в 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо