Главная страница
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.016 c
15-1446240602
Юрий
2015-10-31 00:30
2016.07.24
С днем рождения ! 31 октября 2015 суббота


15-1444167002
Юрий
2015-10-07 00:30
2016.07.24
С днем рождения ! 7 октября 2015 среда


15-1442994781
p
2015-09-23 10:53
2016.07.24
Компания Embarcadero Technologies продана компании Idera


6-1281092171
__REA
2010-08-06 14:56
2016.07.24
TIdIRC away


15-1442015464
trenkin
2015-09-12 02:51
2016.07.24
Ошибка при открытии файла PDF из вложения