Как избавиться от стандартных обработчиков событий

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
SanyaT
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 12.02.2004 (Чт) 8:21
Откуда: Чебоксары

Как избавиться от стандартных обработчиков событий

Сообщение SanyaT » 16.02.2004 (Пн) 15:12

Уважаемые....
есть контролы, все они имеют стандартные обработчики событий и это мешает.
я же создаю свой обработчик события, но нехочу чтобы управление передавалось стандартному(хотя свой выполняется), как это сделать!?
К примеру:

Private Sub TextBox1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Screen.MousePointer = 0 ' стандартный курсор
End Sub

он выполняется, но потом вызывается стандартный и глушит тип курсора...
Помогите очень надо...

Ничего типа Event = False нету? рыл, но что не нашел

:roll: :roll: :roll: :roll: :roll: :roll: :roll: :roll: :roll: :roll:

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 16.02.2004 (Пн) 17:26

не по... :shock:
Private Sub TextBox1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) - это же и есть стандартный обработчик, разве есть еще какой-то? и чем тебе мешает стандартный обработчик событий
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Lobo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 08.01.2004 (Чт) 16:49
Откуда: Таллинн, Эстония

Сообщение Lobo » 16.02.2004 (Пн) 17:29

Чтой-то я тебя не пойму... Контролы имеют не "обработчики событий", а события. Обработчики событий (т.е. процедуры типа контрол_MouseMove) создаёшь ты. Пока не создашь обработчик события, событие обрабатываться не будет. Что я не так понял? (А форму курсора лучше задавать через свойство MousePointer самого объекта.)
Изображение Вопросы - рёбрами!

SanyaT
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 12.02.2004 (Чт) 8:21
Откуда: Чебоксары

Сообщение SanyaT » 16.02.2004 (Пн) 18:02

Все правильно, я пишу в Стандартном обработчике
TextBox1_MouseMove свой код, но после того как он выполнится выполняется и код (стандартный ).

Например : событие PictureBox_Paint в котором имеется кнопка,
в обработчике пишу свой код, нарисовал что то (линии)
а потом после этого выполняется стандартный код который перерисует кнопку...,
так вот: как отменить что бы после выполнения своего кода в обработчике, больше ничего на самом деле не делалось.

Lobo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 108
Зарегистрирован: 08.01.2004 (Чт) 16:49
Откуда: Таллинн, Эстония

Сообщение Lobo » 16.02.2004 (Пн) 18:17

1) Дать сначала отрисоваться самому контролу, а потом нарисовать, что надо. Например, в Paint запустить таймер, который потом нарисует.

Или

2) Не ставить кнопку в PictureBox :D
Изображение Вопросы - рёбрами!

SanyaT
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 12.02.2004 (Чт) 8:21
Откуда: Чебоксары

Сообщение SanyaT » 16.02.2004 (Пн) 21:16

Я кажется начинаю понимать....,того что я искал нету...,
Т.е надо самому отлавливать сообщения винды контролам, выполнять свой код, и потом "глушить" эти сообщения... чтобы больше никуда не пошло...

А сначала я искал более простой метод, который не дает сообщению идти дальше, но его нет судя по ответам...., т.е придется занятся сабклассингом...а не охота.

sanches
El compañero
El compañero
 
Сообщения: 823
Зарегистрирован: 09.01.2003 (Чт) 3:58
Откуда: Р_О_С_С_И_Я ! (Питер)

Сообщение sanches » 17.02.2004 (Вт) 20:04

Представь, что ты написал класс, и кое-где есть такая последовательность команд:

Private Sub StuffSub()
...
RaiseEvent MyEvent(x,y)
...
...
End Sub

То, что после RaiseEvent, НИКТО "из вне" отменить не может (ну разве что вызовет ошибку выполнения, тогда уже ничего не будет выполняться) или разве что ты сам не реализуешь такую возможность при помощи параметра по ссылке.
Изображение


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

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

Сейчас этот форум просматривают: SemrushBot и гости: 16

    TopList