Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
1-25380
ak75
2003-12-24 18:52
2004.01.09
Разрешения и DBGrid.Title.Font


6-25487
gfew
2003-11-06 12:09
2004.01.09
Кодинг сокетов юзая winsock2


1-25358
Chainik
2003-12-25 14:52
2004.01.09
Глобальное изменение шрифта


1-25309
Trad
2003-12-22 20:51
2004.01.09
Два DateTimePicker: надо посчитать кол-во полных месяцев.


3-25185
malamba
2003-12-08 17:37
2004.01.09
программа должна работать на другом ПК. Но не хочет




   Наверх