Как перерисовать ScrollBar у TextBox'a?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Как перерисовать ScrollBar у TextBox'a?

Сообщение dr.MIG » 16.04.2007 (Пн) 20:13

Допустим, есть картинки стрелок, ползунка, как ими заменить стандартные элементы полосы прокрутки, например у текст. поля? Вопрос возник, т.к. ActiveSkin их не перерисовывает и они часто не вписываются в дизайн (кстати, SkinEngine умеет их перерисовывать). Как такое реализовать наименее кривым способом? (и не писать при этом свой контрол)
Salus populi suprema lex

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 16.04.2007 (Пн) 20:14

Ручная отрисовка.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 16.04.2007 (Пн) 20:25

Хакер, а если поподробнее - ключевые слова, названия ф-й?
P.S. если есть пример, то вообще замечательно :-)
Salus populi suprema lex

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 16.04.2007 (Пн) 21:17

Ключевые смова: WM_PAINT, GetWindowLong, SetWindowLong, CallWindowProc, сабклассинг
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 17.04.2007 (Вт) 10:40

Ну да, WM_PAINT ловлю. Это не проблема. А как осуществить перерисовку полос прокрутки? Допустим картинку на фон текстового поля таким образом можно поместить с помощью BitBlt...
Salus populi suprema lex

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 20.04.2007 (Пт) 5:24

Окна со стилем WS_VSCROLL | WS_HSCROLL имеют скролбар лежащий вне клиентской области окна. TextBox не исключение. Поэтому WM_PAINT не в тему. надо ловить нужные WM_NC...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 96

    TopList