Главная страница
    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.007 c
15-1443426766
Empleado
2015-09-28 10:52
2016.07.24
RAD Studio Upgrade + free tools


2-1414065182
Kettle
2014-10-23 15:53
2016.07.24
Присвоение свойству OLE объекта значения NULL


3-1308474984
Oleg_teacher
2011-06-19 13:16
2016.07.24
Связаные таблицы в БД


15-1447406179
ksergey
2015-11-13 12:16
2016.07.24
бесплатная панель от FirstVDS сегодня


15-1443303004
Юрий
2015-09-27 00:30
2016.07.24
С днем рождения ! 27 сентября 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
Английский Французский Немецкий Итальянский Португальский Русский Испанский