Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.09;
Скачать: CL | DM;

Вниз

Скины   Найти похожие ветки 

 
Fox Mulder   (2003-11-07 06:31) [0]

Я делаю программуб с поддержкой скинов. Но как сделать скин для полосы прокрутки,ScrollBar ?


 
wicked ©   (2003-11-07 13:42) [1]

принцип прост:
1. перехватить WindowProc
2. по приходу WM_NCCALCSIZE обманываем виндовс и диктуем ему форму клиентской части - наши ScrollBar"ы могут быть любого размера
3. по приходу WM_PAINT нужно:
а. определить где находятся полосы прокрутки и сделать им ValidateRect
б. отдать его контролу
в. нарисовать свои полосы
4. по приходу WM_NCPAINT нужно:
а. сформировать свой update-region и "выкусить" из него части, которые мы рисуем сами
б. отдать сообщение контролу
в. нарисовать свои полосы

соответственно нужно еще обрабатывать такие сообщения, как
1. сообщения скроллов - WM_HSCROLL, WM_VSCROLL
2. неклиентские сообщения - WM_NCHITTEST, WM_NCMOUSEMOVE, WM_NCLBUTTONDOWN и т. д.


 
Fox Mulder   (2003-11-08 06:09) [2]

У меня недостаточно знаний чтобы это написать. Напишите подробнее, заранее благодарен.


 
wicked ©   (2003-11-08 20:13) [3]

извини, но это слишком много писанины (я ленивый ;)) - у меня заняло около 2 месяцев, чтобы заставить все более-менее работать...
исходник тоже не могу пока дать - по многим причинам...
а направление я указал...


 
wicked ©   (2003-11-08 20:15) [4]

ЗЫ отправной точкой в разбираниях была CoolSB - маленькая библиотечка на си... поищи, там много полезного...
и не слишком верь автору, когда он пишет об ограничениях.... ;)



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

Текущий архив: 2004.01.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
14-25507
Layner
2003-12-16 10:00
2004.01.09
Центр американского английского


3-25188
perova
2003-12-12 13:42
2004.01.09
Уважаемые мастера, подскажите, пожалуйста, как скрыть сценарий БД


3-25225
belyh
2003-12-13 12:26
2004.01.09
DBLookUpComboBox


4-25647
Юрий Ж.
2003-11-02 11:48
2004.01.09
BUTTON, STATIC и т.д.


8-25451
NikB
2003-09-09 01:02
2004.01.09
Point In Poligon