Навигационное сообщение NM_CUSTOMDRAW используется для перерисовки пользователем некоторых элементов в ряде управляющих элементов, например TrackBar, TreeView, ListView
Хотел сделать нестандартный ползунок в ТrackBar. Написал обработчик сообщения NM_CUSTOMDRAW на GDI все работает нормально, но качество графики мне не понравилась. Решил переписать его используя DirectX D2 и тут началось следующая пляска: TrackBar не рисуется, когда создается окно, а рисуется только тогда, когда переместится ползунок, причем ползунок рисуется правильно, а все другие элементы рисуются черным цветом
Re: Использование DirectX D2 в обработке сообщения NM_CUSTOMDRAW
Здравствуйте, Melamed, Вы писали:
M>Решил переписать его используя DirectX D2
Что это такое? Если имеется в виду DirectDraw, то он рисует главным образом не в окно, а непосредственно на экран, минуя оконную подсистему. То есть, рисовать с его помощью имеет смысл только от, что или никогда не будет перекрыто окнами, или будет восстановлено вручную.
Re[2]: Использование DirectX D2 в обработке сообщения NM_CUS
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Здравствуйте, Melamed, Вы писали:
M>>Решил переписать его используя DirectX D2
ЕМ>Что это такое? Если имеется в виду DirectDraw, то он рисует главным образом не в окно, а непосредственно на экран, минуя оконную подсистему. То есть, рисовать с его помощью имеет смысл только от, что или никогда не будет перекрыто окнами, или будет восстановлено вручную.
C Windows 8.1 DirectDraw в Microsoft переименовали в Direct D2 Довольно мощное средство для рисования D2 графики и обработки графических файлов. Подробнее Direct2D
Там есть интерфейс ID2D1HwndRenderTarget, который позволяет выводить графику в окно