![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
аля DirectSkin
strong © (2002-11-16 14:01:00)Кто нибудь пробовал разрабатывать технологию примения скинов для стандартных элементов программ как это сделано в DirectSkin. поделитесь опытом!
Shuric (2002-11-20 15:30:00) [1]Зачем такие сложности. Скачай библиотеку с www.almdev.com
Игорь Шевченко (2002-11-19 16:45:00) [2]Эта...вот темы в Windows XP тоже изменяют внешний вид приложений одним махом. И никого это не удивляет...
Такую информацию разработчики берут в MSDN, читают описания сообщений, ставят хуки WH_CALLWNDPROC, WH_GETTMESSAGE и меняют...
strong (2002-11-19 16:36:00) [3]Но ведь существуют же программы, способные изменять внешний вид окон всех приложений одним махом. WindowsBlinds например. Они то как это делают? Я догадываюсь, что заменяют фуенкции стандартной отрисовки, но какие? Где разработчики берут таккую информацию? Есть ли она у вас?
Игорь Шевченко (2002-11-19 16:15:00) [4]SPeller © (19.11.02 16:07)
А которые не отдельными контролами - это вообще не окна, а такая же часть неклиентской области окна, как, например, заголовок или строка меню :-)
С уважением,
SPeller (2002-11-19 16:07:00) [5]Да уж, скролбары плохо поддаются контролю над ними, особенно если сделаны не отдельными контролами.
Игорь Шевченко (2002-11-19 15:20:00) [6]Нету у полосы прокрутки такого флага. Придется заменять у него оконную процедуру (если это контрол) и обрабатывать сообщение, как минимум WM_PAINT
strong (2002-11-19 15:04:00) [7]Да в интернете я уже посмотрел!
И справку по WinAPI тоже глянул. Вроде выходит, что не все control"ы так можно перерисовывать. Например как быть с полосой прокрутки? на нее флага XS_OWNERDRAW нету вроде? По крайней мере я не нашел!
Eugen Honeker (2002-11-18 19:07:00) [8]делфи тут ни причем, просто когда создаются control"ы на api
с помощьюCreateWindowможно передать такой flag
какBS_OWNERDRAW, LBS_OWNERDRAWитд.
тогда эти control"ы не будут Windows"ом отрисовыватся, а Windows
будет посылатьWM_DRAWITEM-messageв message-loop твоей программы. а тут можно, отловив это сообщение самому
отрисовать control.
насщет куска кода, тут тебе придется самому повозится.
в инете и в msdn"е примеров больше чем надо.
strong (2002-11-18 18:14:00) [9]>Eugen Honeker
Можно немного поподробнее? Во-первых как вешать? (кусок кода).
Во-вторых: для всех Control такое подойдет? В тертьих: такой спосб работает только в Delphi?
Eugen Honeker (2002-11-18 13:38:00) [10]я незнаю что там DirectSkin делает, но на тему
нестандартной отрисовки:
вешай флаг XS_OWNERDRAW (например для "BUTTON" -> BS_OWNERDRAW итд.) и отрисовывай все сам.
strong (2002-11-18 12:49:00) [11]И чего все молчат?
Неужели никто не интересовался проблемой нестандартной отрисовки органов уаравления Windows? Конечно с появлением Windows XP тема несколько старовата, но просто интересно разобраться как это сделано!
Где вы МАСТЕРА?!!!