Здравствуйте, CEMb, Вы писали:
CEM>Здравствуйте, MentorX, Вы писали:
MX>>Можно ли с помощью Win API подцепить визуальный стиль контролов какого либо приложения и использовать его для рисования своих контролов, например Winamp'а? Если это уж совсем экзотика, то подскажите пожалуйста как вообще создается такой интерфейс, ведь если смотреть Spy'ем то видно что окно Winamp'а состоит из обычных контролов WIN API, кнопок, слайдеров и тд.?
CEM>Например, сабклассингом. Подменяешь функцию обработки кнопок, слайдеров и тд — в них рисуешь свои контролы (в нужных сообщениях) — получаешь свой интерфейс. Spy-ем, кстати, видно "на глаз" — своя функция обработки или уже перехваченная.
CEM>Ещё вариант (имхо не очень удобный и хороший и вообще может не работать правильно) — хук сообщений окон. Но тут больше проблем с тем, что за окно и что с ним делать — много процессора сожрётся на разборах.
CEM>Через WinAPI подцепить — только если разработчики сделали рисовалку в wm_print. Тогда этим сообщением передаём окну hdc и на выходе получаем hdc с битмапом, в котором нарисован внешний вид контрола, сливаем и пользуемся
Хм, интересно. А что за wm_print? И можно поконкретней по поводу сабклассинга, в каком месте нужно писать код отрисовки, на WM_PAINT или нужно обрабатывать XX_OWNERDRAW?