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

Вниз

Как в ListView закрасить текст строки другим цветом WinApi?   Найти похожие ветки 

 
Max   (2014-11-22 21:35) [0]

Допустим, в ListView 6 строк, выделена 5 строка.
Как в ListView закрасить текст строки №2 другим цветом (WinApi)?


 
junglecat ©   (2014-11-22 23:35) [1]

лови WM_NOTIFY у родительского окна, в нем code = NM_CUSTOMDRAW, в нем dwDrawStage = CDDS_ITEMPREPAINT и ставь SetTextColor


 
M.A.   (2014-11-23 00:31) [2]


> junglecat ©   (22.11.14 23:35) [1]
> лови WM_NOTIFY у родительского окна, в нем code = NM_CUSTOMDRAW,
>  в нем dwDrawStage = CDDS_ITEMPREPAINT и ставь SetTextColor

WM_NOTIFY:
   begin
     if PNMHDR(lParam).hwndFrom = LV then
       case PNMHDR(lParam).code of
         NM_CUSTOMDRAW:
           begin
             //Не совсем понял
           end;


А можно подробнее про dwDrawStage = CDDS_ITEMPREPAINT?


 
ListView.Canvas   (2014-11-23 08:52) [3]

А без WinAPI не подойдет?

with ListView1.Canvas.Brush do
  begin
   if ... then  // item.itemindex
    Color:= clGreen;
  end;


 
junglecat ©   (2014-11-23 12:44) [4]

> подробнее про dwDrawStage = CDDS_ITEMPREPAINT

var
 cd: TNMCustomDraw;

cd := TNMCustomDraw(lParam);
if cd.dwDrawStage = CDDS_ITEMPREPAINT then begin
 if cd.dwItemSpec = 5 then
   SetTextColor(cd.hdc, $0000FF)
 else
   SetTextColor(cd.hdc, COLOR_WINDOW_TEXT);
end;


 
Max   (2014-11-23 13:25) [5]


> ListView.Canvas   (23.11.14 08:52) [3]
> А без WinAPI не подойдет?

Чистый Api.


> junglecat ©   (23.11.14 12:44) [4]

Спасибо.
Чо-то никак. Есть еще варианты?


 
Max   (2014-11-23 13:39) [6]

Разобрался, работает.

junglecat-Спасибо за помощь.


NM_CUSTOMDRAW:
 begin
   case PNMLVCustomDraw(LParam).nmcd.dwDrawStage of
     CDDS_PREPAINT:  result:=CDRF_NOTIFYITEMDRAW;
     CDDS_ITEMPREPAINT:
       begin
         if PNMLVCustomDraw(LParam).nmcd.dwItemSpec = Nomer then
           PNMLVCustomDraw(LParam).clrText := 16711680
         else
           PNMLVCUSTOMDRAW(LParam).clrText := 0 ;        
        end;      
 end;



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
15-1444253403
Юрий
2015-10-08 00:30
2016.07.24
С днем рождения ! 8 октября 2015 четверг


15-1446150607
картман
2015-10-29 23:30
2016.07.24
сжатие строк


2-1415683622
Петраррка
2014-11-11 08:27
2016.07.24
Исходник


15-1441438120
Pavia
2015-09-05 10:28
2016.07.24
Настройка W-Fi роутера


2-1416114619
topdon
2014-11-16 08:10
2016.07.24
Компонент "Страница HTML" Delphi XE7