Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];

Вниз

аля DirectSkin   Найти похожие ветки 

 
strong   (2002-11-16 14:01) [0]

Кто нибудь пробовал разрабатывать технологию примения скинов для стандартных элементов программ как это сделано в DirectSkin. поделитесь опытом!


 
strong   (2002-11-18 12:49) [1]

И чего все молчат?
Неужели никто не интересовался проблемой нестандартной отрисовки органов уаравления Windows? Конечно с появлением Windows XP тема несколько старовата, но просто интересно разобраться как это сделано!
Где вы МАСТЕРА?!!!


 
Eugen Honeker   (2002-11-18 13:38) [2]

я незнаю что там DirectSkin делает, но на тему
нестандартной отрисовки:
вешай флаг XS_OWNERDRAW (например для "BUTTON" -> BS_OWNERDRAW итд.) и отрисовывай все сам.


 
strong   (2002-11-18 18:14) [3]

>Eugen Honeker
Можно немного поподробнее? Во-первых как вешать? (кусок кода).
Во-вторых: для всех Control такое подойдет? В тертьих: такой спосб работает только в Delphi?


 
Eugen Honeker   (2002-11-18 19:07) [4]

делфи тут ни причем, просто когда создаются control"ы на api
с помощью CreateWindow можно передать такой flag
как BS_OWNERDRAW, LBS_OWNERDRAW итд.
тогда эти control"ы не будут Windows"ом отрисовыватся, а Windows
будет посылать WM_DRAWITEM-message в message-loop твоей программы. а тут можно, отловив это сообщение самому
отрисовать control.

насщет куска кода, тут тебе придется самому повозится.
в инете и в msdn"е примеров больше чем надо.



 
strong   (2002-11-19 15:04) [5]

Да в интернете я уже посмотрел!
И справку по WinAPI тоже глянул. Вроде выходит, что не все control"ы так можно перерисовывать. Например как быть с полосой прокрутки? на нее флага XS_OWNERDRAW нету вроде? По крайней мере я не нашел!


 
Игорь Шевченко   (2002-11-19 15:20) [6]

Нету у полосы прокрутки такого флага. Придется заменять у него оконную процедуру (если это контрол) и обрабатывать сообщение, как минимум WM_PAINT


 
SPeller   (2002-11-19 16:07) [7]

Да уж, скролбары плохо поддаются контролю над ними, особенно если сделаны не отдельными контролами.


 
Игорь Шевченко   (2002-11-19 16:15) [8]

SPeller © (19.11.02 16:07)

А которые не отдельными контролами - это вообще не окна, а такая же часть неклиентской области окна, как, например, заголовок или строка меню :-)

С уважением,


 
strong   (2002-11-19 16:36) [9]

Но ведь существуют же программы, способные изменять внешний вид окон всех приложений одним махом. WindowsBlinds например. Они то как это делают? Я догадываюсь, что заменяют фуенкции стандартной отрисовки, но какие? Где разработчики берут таккую информацию? Есть ли она у вас?


 
Игорь Шевченко   (2002-11-19 16:45) [10]

Эта...вот темы в Windows XP тоже изменяют внешний вид приложений одним махом. И никого это не удивляет...

Такую информацию разработчики берут в MSDN, читают описания сообщений, ставят хуки WH_CALLWNDPROC, WH_GETTMESSAGE и меняют...


 
Shuric   (2002-11-20 15:30) [11]

Зачем такие сложности. Скачай библиотеку с www.almdev.com



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
1-24879
pavel_ak
2002-12-28 12:51
2003.01.09
Просветите непросвещенного


7-25109
AndrewK
2002-10-28 16:40
2003.01.09
Как отследить коннект?


14-25013
zzet
2002-12-19 00:57
2003.01.09
Спам - это божья кара за наши к нему молитвы.


1-24949
Lynxy
2002-12-26 15:56
2003.01.09
Как преобразовать Extended в String с заданным значением символов


14-25010
Ru
2002-12-19 13:36
2003.01.09
Милиция





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский