Вопросы по UserConrol

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Вопросы по UserConrol

Сообщение lister » 11.03.2006 (Сб) 12:03

Пишу UserControl...

Функции его переррисовки находяться в модуле. Перед перерисовкой контрол нужно очищать. UserControl.cls естественно не поможет. Как быть?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.03.2006 (Сб) 12:08

Во-первых, почему они там находятся, и во-вторых, а как же они в этом случае узнают, где рисовать?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.03.2006 (Сб) 12:08

Передавать в функции перерисовки ссылку на экземпляр контрола.
Изображение

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 11.03.2006 (Сб) 12:17

GSerg писал(а):Во-первых, почему они там находятся, и во-вторых, а как же они в этом случае узнают, где рисовать?


Потому что в модуле обрабатываются сообщения WM_MOUSEHOVER WM_MOUSELEAVE.

Если убрать перерисовку в сам контрол, то как обрабатывать WM_MOUSELEAVE ?

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 11.03.2006 (Сб) 12:18

tyomitch писал(а):Передавать в функции перерисовки ссылку на экземпляр контрола.


А можно пример в двух строках?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.03.2006 (Сб) 12:26

Если ты не хочешь использовать сабклассер из кирпичей, то у тебя в обработчике есть hwnd, и для перерисовки тебе хватит...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.03.2006 (Сб) 12:49

lister писал(а):
tyomitch писал(а):Передавать в функции перерисовки ссылку на экземпляр контрола.


А можно пример в двух строках?

Код: Выделить всё

Public Sub RedrawMyCoolControl(ByVal ctl As UserControl)
...
ctl.Cls
...
End Sub


...


Private Sub UserControl_Paint()
RedrawMyCoolControl Me
End Sub
Изображение

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 11.03.2006 (Сб) 13:31

GSerg

Кирпичи??? :shock:

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Сообщение VVitafresh » 11.03.2006 (Сб) 14:50

lister писал(а):GSerg
Кирпичи??? :shock:

Имеется в виду раздел форума: http://bbs.vbstreets.ru/viewforum.php?f=28
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.03.2006 (Сб) 15:00

lister
Смени, будь добр, аватару. Дёргает.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 11.03.2006 (Сб) 15:55

GSerg писал(а):lister
Смени, будь добр, аватару. Дёргает.


Sorry :oops:
Последний раз редактировалось lister 11.03.2006 (Сб) 16:00, всего редактировалось 1 раз.

lister
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 389
Зарегистрирован: 15.01.2005 (Сб) 7:34
Откуда: Страна оления

Сообщение lister » 11.03.2006 (Сб) 15:58

VVitafresh
А я в меню сайта искал...

Хм... Отличный раздел!!!


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59

    TopList