Главная страница
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.04 c
4-25667
Gilk
2003-11-05 15:35
2004.01.09
Статус завершения работы с документом


7-25634
Ал
2003-10-28 22:06
2004.01.09
Серийные(Заводские) номера


14-25584
$hade
2003-12-17 07:33
2004.01.09
Samsung DVD-OK. Кто-нибудь сталкивался?


14-25557
Михааааааааааааа
2003-12-18 15:29
2004.01.09
Важная инфа


6-25480
czuryk
2003-11-02 17:48
2004.01.09
NMPOP3 Как убрать