|
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
|
|
Header control - собственная отрисовка13.04.2022, 00:49. Показов 1211. Ответов 2
Метки нет (Все метки)
Делаю собственную отрисовку header control'а, который находится в ListView.
В оконной процедуре ListView обрабатываю WM_NOTIFY -> NM_CUSTOMDRAW -> CDDS_PREPAINT -> CDDS_ITEMPREPAINT.Здесь, согласно данным структуры LPNMCUSTOMDRAW, выполняю отрисовку.В структуре NMCUSTOMDRAW есть параметр uItemState, который как раз указывает на то, каким образом рисовать item: в нормальном состоянии или мышь наведена или мышь зажата.Но это так должно быть. На самом же деле (на практике) параметр uItemState имеет только 2 значения: 0 и CDIS_SELECTED (когда нажали левой кнопкой мыши на item).Т.е. получается такая ситуация, что когда мы наводим курсор на item header control'a, приходит сообщение WM_NOTIFY с кодом NM_CUSTOMDRAW, т.е. header control нас уведомляет о том, что нужно сделать перерисовку. Но он никак не даёт понять, какое состояние при этом имеет item, как его рисовать. Значение поля uItemState = 0, а должно быть CDIS_HOT.И вот здесь вопрос - как же при получении NM_CUSTOMDRAW понять, какое состояние имеет item? Как понять, что мышь наведена?
0
|
|
| 13.04.2022, 00:49 | |
|
Ответы с готовыми решениями:
2
Собственная отрисовка TreeView - не видно узлов
No 'Access-Control-Allow-Origin' header is present |
|
фрилансер
6465 / 5678 / 1131
Регистрация: 11.10.2019
Сообщений: 15,118
|
|
| 13.04.2022, 07:00 | |
|
Igor-84, я не вникал сейчас в детали, но всегда можно определить, где расположен курсор. Пригодятся функции
GetCursorPos WindowFromPoint MapWindowPoints
0
|
|
|
28 / 27 / 11
Регистрация: 04.03.2010
Сообщений: 199
|
|||||||
| 13.04.2022, 15:51 [ТС] | |||||||
|
Если же вести речь о использовании GetCursorPos, то эмпирическим путём я выяснил такую закономерность в координатах:Серым обозначены области, соответствующие позиции курсора относительно item'а. Отсюда написал такой код:
В общем, использование GetCursorPos - это костыль ещё тот, а использование приведёного кода неэффективно для колонок малой ширины (30-50).И главное - почему поле nmcd->uItemState в момент наведения курсора содержит значение 0, а не CDIS_HOT? Очередной баг Windows или что-то нужно дополнительно указать/задать окну header control'a?
0
|
|||||||
| 13.04.2022, 15:51 | |
|
Помогаю со студенческими работами здесь
3
No 'Access-Control-Allow-Origin' header is present on the requested resource No 'Access-Control-Allow-Origin' header is present on the requested resource Ограничить или запретить изменение ширины элемента в Header Control Ошибка No 'Access-Control-Allow-Origin' header is present on the requested resource
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
/ / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров)
. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|