Главная страница
    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
6-1279741373
ppgrachev
2010-07-21 23:42
2016.07.24
idtcpserver как разослать сообщение всем клиентам


15-1442241297
timokhasarov
2015-09-14 17:34
2016.07.24
Access ошибка доступа к программе


15-1444580103
DayGaykin
2015-10-11 19:15
2016.07.24
Удивительный QuickSort


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


2-1414391990
JohnKorsh
2014-10-27 10:39
2016.07.24
Включение в программу номера версии.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский