Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > TListView и всё что с ним связано


Автор: Seraphim 10.11.2006, 16:41
У меня есть процедура поиска файлов, и теперь нужно, определив тип файла, закрасить в нужный цвет текст имени файла. Как это сделать?

Автор: dumb 10.11.2006, 17:16
чутка правим пример из демок(Delphi7\Demos\Virtual ListView):

Код

procedure TForm1.ListViewCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  Attrs: Integer;
  Ext: String;
begin
  if Item = nil then Exit;
  Ext := UpperCase(ExtractFileExt(Item.Caption));
  Delete(Ext, 1, 1);
  case (Pos(Ext, '|EXE|COM|BAT|TXT|LOG|')) of
    2,6,10:
      ListView.Canvas.Font.Color := clGreen;
    14,18:
      ListView.Canvas.Font.Color := clMaroon;
  end;
  Attrs := ShellItem(Item.Index).Attributes;
  if Bool(Attrs and FILE_ATTRIBUTE_READONLY) then
    ListView.Canvas.Font.Color := clGrayText;
  if Bool(Attrs and FILE_ATTRIBUTE_HIDDEN) then
    ListView.Canvas.Font.Style :=
       ListView.Canvas.Font.Style + [fsStrikeOut];
  if Bool(Attrs and FILE_ATTRIBUTE_SYSTEM) then
    Listview.Canvas.Font.Color := clHighlight;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)