Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.25;
Скачать: CL | DM;

Вниз

Цветные строки в ListView   Найти похожие ветки 

 
tytus ©   (2003-08-11 11:50) [0]

Привет ВСЕМ. Помогите разобраться. Как в ListView писать цветные строки? Идея такая - в ListView пишу имена файлов в директории (FindFirstFile и FindNextFile); Нужно файли с разным расширением написать разным цветом.
private
SF:_WIN32_FIND_DATA;

Процедуру чтения файлов и заполнения ListView не привожу так как работает нормально и чтобы не заполнять ненужным текстом. В ListView все пишеться черным цветом.

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if SF.dwFileAttributes=16 then //это папка, 7 - это *.sys
ListView1.Canvas.Font.Color:=clRed;
end;

Или не срабатывает if SF.dwFileAttributes=16 then или нужно писать по другому...


 
Юрий Федоров ©   (2003-08-11 12:12) [1]

DefaultDraw:=false ???
и ListView1.Canvas.TextOut()...
наверно так


 
Skier ©   (2003-08-11 12:20) [2]

if (SF.dwFileAttributes and FILE_ATTRIBUTE_SYSTEM) <> 0 then...


 
tytus ©   (2003-08-11 12:33) [3]

Юрий Федоров
DefaultDraw:=false ???
и ListView1.Canvas.TextOut()...
наверно так

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
DefaultDraw:=false;
if SF.dwFileAttributes=16 then
begin

ListView1.Canvas.Font.Color:=clRed;
ListView1.Canvas.TextOut(10,10,SF.cFileName);
end ;


 
Семен Сорокин ©   (2003-08-11 12:37) [4]

2tytus
скорее всего не срабатывает SF.dwFileAttributes=16, проверь точкой останова на строчке ListView1.Canvas.Font.Color:=clRed;
и вариант от Skier © (11.08.03 12:20)
а DefaulDraw не надо в false выставлять, если меняешь св-ва канвы.


 
tytus ©   (2003-08-11 12:48) [5]

2 all:
Если в основную процедуру (бутонклик) вставляю
ListView1.Items.Add.Caption:=SF.cFileName;
то пишет черным цветом,если ее убираю, то так вообще ничего не выводит.

procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if SF.dwFileAttributes=16 then
begin
ListView1.Canvas.Font.Color:=clRed;
ListView1.Canvas.TextOut(10,n,SF.cFileName);
end
else
begin
ListView1.Canvas.Font.Color:=clBlack;
ListView1.Canvas.TextOut(0,n,SF.cFileName);
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.08.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
1-81812
sined
2003-08-13 20:10
2003.08.25
Как получить список окон?


1-81664
ХМЛ-щик
2003-08-08 14:53
2003.08.25
XPath. Как разрулить между двойными и одинарными кавычками?


7-81973
qwerty2
2003-06-09 23:35
2003.08.25
DCOM, CGI и права доступа


3-81580
Andrey2k
2003-07-30 13:10
2003.08.25
D4+Zeos+MSSQL


3-81538
DW
2003-07-31 13:16
2003.08.25
Cast в Paradox?