Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2008, 00:29   #1
dsoft
Новичок
Джуниор
 
Регистрация: 25.06.2008
Сообщений: 2
По умолчанию ListView и встроенный CheckBox

При изменении состояния встроенного в ListBox CheckBox`a, должны изменять цвет соответствующие строки. Но до вызова CDDS_ITEMPREPAINT дело не доходит. Совсем запутался в попытке разобраться в чем дело. Хохма в том, что ранее такой код я уже с успехом применял и проблем не было, а тут...
Кто знает, в чем причина?


Код:
function LVCustomDrawItem(lParam : Longint) : Longint;
var
  NMHDR : PNMHDR;
  LVCD  : PNMLVCUSTOMDRAW;
begin
  Result := CDRF_DODEFAULT;
  NMHDR := PNMHDR(lParam);
  LVCD  := PNMLVCUSTOMDRAW(lParam);
  case NMHDR^.code of
    NM_CUSTOMDRAW:
      with PNMCustomDraw(NMHDR)^ do
      begin
	case dwDrawStage of
	  CDDS_PREPAINT :
	  begin
	    Result := CDRF_DODEFAULT or CDRF_NOTIFYITEMDRAW or CDRF_NOTIFYSUBITEMDRAW;
	    Exit; 
	  end;
	  CDDS_ITEMPREPAINT : // не доходит вызов
	  begin
	    if not LV_GetChecked(hdr.hwndFrom, dwItemSpec) then
	    begin
	      LVCD.clrText   := $808080;
	      LVCD.clrTextBk := $CFB78F;
	      Result := CDRF_DODEFAULT or CDRF_NOTIFYSUBITEMDRAW;
	      Exit;
	    end;
	  end;
	end;
      end;
  end;
end;

...
    WM_NOTIFY :
    begin
      if PNMHDR(lParam)^.hwndFrom = hLV then
	case PNMHDR(lParam)^.code of
	  NM_CUSTOMDRAW :
	  begin
	    Result := LVCustomDrawItem(lParam);
	    Exit;
	  end;
	end;
    end;
...
dsoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CheckBox - глупый вопрос JRcoker Общие вопросы Delphi 3 17.08.2008 21:51
Выключение ПК с помощью checkBox prog38 Помощь студентам 5 09.08.2008 06:30
CheckBox zzzzz Компоненты Delphi 6 22.07.2008 12:35
Встроенный конвертер графических файлов в Windows Air Мультимедиа в Delphi 12 23.03.2008 00:42
Проигрыватель встроенный в прогу *Devil* Общие вопросы Delphi 4 22.05.2007 06:07