Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2016.07.24;
Скачать: [xml.tar.bz2];

Вниз

Как в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
15-1442179801
Юрий
2015-09-14 00:30
2016.07.24
С днем рождения ! 14 сентября 2015 понедельник


2-1414862984
Fox
2014-11-01 20:29
2016.07.24
Вращение карты


15-1441565858
Pavia
2015-09-06 21:57
2016.07.24
Хук


15-1441698420
Cobalt
2015-09-08 10:47
2016.07.24
http://www.delphimaster.net/view/1-1128652349


15-1447882201
Юрий
2015-11-19 00:30
2016.07.24
С днем рождения ! 19 ноября 2015 четверг





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский