Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Как проигнорировать событие? Добавлено: 14.04.06 01:47  

Автор вопроса:  Temak | ICQ: 264-692-095 
Возможно ли в ВБ проигнорировать возникновение события. Ну, например, хочу, чтобы в определенный момент выполнение проги событие Activate для формы не выполнялось. А в других местах программы было доступным. И если возможно, то как это реализовать? Сенкс

Ответить

  Ответы Всего ответов: 19  

Номер ответа: 1
Автор ответа:
 Alexander



Вопросов: 19
Ответов: 118
 Профиль | | #1 Добавлено: 14.04.06 05:13
батя ты о чем? события игнорить тока sne умеет, а остальным прямая дорога к
me.visible = false

и уточни о каких событиях ты точно говориш?
ибо если меня не коротит на фазу то Form_Activate вызывается когда форма уже прорисована на экране, а Form_Load вызывается до прорисовки.

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 14.04.06 09:59
Ой, ну да ладно :) Примеров с сабклассингом достаточно, с ходу непомню чё там за сообщение форме приходит, по сколько пишу не с дома, подглядеть некуда... Словить это сообщение, наверное WM_чёнибуть :) мож WM_ACTIVE? :) и короче вместо него передавать обработчику нулик :) и будет игнорирование...

Ответить

Номер ответа: 3
Автор ответа:
 Tamplier



ICQ: 298742928 

Вопросов: 58
Ответов: 340
 Профиль | | #3 Добавлено: 14.04.06 15:14
Ага, или еще вариант, если не допирает обработка событий (как, нпрамер, до меня недавно), можно просто задать переменную и в зависимости от ее значения выполнять или не выполнять действия. Например:
Option Explicit
Private blCommandPressed as Boolean

Private Sub Command1_Click()
blCommandPressed=True
End Sub

Private Sub Form_Activate()
If blCommandPressed Then MgBox "You clicked a command button!!!"
End Sub

Ответить

Номер ответа: 4
Автор ответа:
 Alexander



Вопросов: 19
Ответов: 118
 Профиль | | #4 Добавлено: 14.04.06 22:07
2 HAKER а ты сабклассинг сделать сможеш не глючно? самое лучшее решение это использовать какуюнить переменную, а еще лучше просто писать код грамотно, чтоб не скакть по нему, козлу по скалам, и зачем вообще понадобилось игнорировать событие активации? не писать в него код вот и проигнорируеш.
на счет WM_ACTIVATE ты прав, он так и выглядит.

Ответить

Номер ответа: 5
Автор ответа:
 Temak



ICQ: 264-692-095 

Вопросов: 4
Ответов: 24
 Профиль | | #5 Добавлено: 15.04.06 01:57
ибо если меня не коротит на фазу то Form_Activate вызывается когда форма уже прорисована на экране, а Form_Load вызывается до прорисовки.

да это каждому юзеру известно

Ответить

Номер ответа: 6
Автор ответа:
 Temak



ICQ: 264-692-095 

Вопросов: 4
Ответов: 24
 Профиль | | #6 Добавлено: 15.04.06 02:50
WM_ACTIVE? :) и короче вместо него передавать обработчику нулик :) и будет игнорирование...


HACKER, а ты мог бы примерчик привести с WM_ACTIVE, а то у меня не фурычит!

TEMAK

Ответить

Номер ответа: 7
Автор ответа:
 Alexander



Вопросов: 19
Ответов: 118
 Профиль | | #7 Добавлено: 15.04.06 03:24
LOL, господи, сабклассинг это не для слабонервных, гдето видел пример сабклассиега с использованием библиотек писанных на ассемблере, он там все что тебе нужно делал, только нужно ли тебе это? попахивает мазохизмом. чтобы чтото игнорировать сделай boolean переменную и в зависимости от флажка работай с ней. пример сабклассинга и хуков можеш стянуть на vb.kiev.ua в разделе API, но не гарантирую что после твоих экспериментов у тебя винда не будет принимать таск менеджер за ICQ и выводить в нем контакты.

Ответить

Номер ответа: 8
Автор ответа:
 Temak



ICQ: 264-692-095 

Вопросов: 4
Ответов: 24
 Профиль | | #8 Добавлено: 15.04.06 03:36
сделай boolean переменную и в зависимости от флажка работай с ней

Да, наверное для меня это самое лучшее

Ответить

Номер ответа: 9
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #9 Добавлено: 15.04.06 15:31
Только субклассинг! Можно для нужного окна отлавливать WM_MouseActivate и делать что надо.

Для Alexander: Субклассинг - не мазохизм, а полет свободной мысли в пределах озверевшей операционной системы. Это факт! И с этим никакой секс не сравнится!

Ответить

Номер ответа: 10
Автор ответа:
 Alexander



Вопросов: 19
Ответов: 118
 Профиль | | #10 Добавлено: 16.04.06 00:38
Факт то факт, тока какой смысл делать лишние 20 килобайт кода для перехвата одного лиш события? я конечно согласился бы если автор начал измываться над эксплорером и чемнить таким, так он же не написал что именно он пишет, так что здесь оба метода хороши.

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 17.04.06 00:32
Ну да, мне заняться нечем, щас я буду wm_activate перехватывать... :)

Народ! плз, давайте иметь совесть!
http://www.softcircuits.com/dl/vbsrc/subcls32.zip

Ответить

Номер ответа: 12
Автор ответа:
 Temak



ICQ: 264-692-095 

Вопросов: 4
Ответов: 24
 Профиль | | #12 Добавлено: 17.04.06 02:02
HACKER, спасибо!
Постараюсь больше особо не напрягать!
Удачи!

Ответить

Номер ответа: 13
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #13 Добавлено: 17.04.06 11:19
Ну, ребят, вы даете! Чего народ пугаете?
Какие асмовые библы, какие десятки килов кода?
Пара апишек и функция в модуле - все что нужно.
Другой вопрос - накой это здесь. Аффтару нужно просто в ряде случаев не обрабатывать самому событие, тут флаг или любая другая проверка - самый оптимальный вариант.
А в сабклассинге нет ничего страшного, только пользоваться им умело. Если его применять криворуко, а потом и жаловаться какая это плохая весчь... ну, мдя, вы поняли :)

Ответить

Номер ответа: 14
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #14 Добавлено: 17.04.06 11:22
ЗЫ

LOL, господи, сабклассинг это не для слабонервных, гдето видел пример сабклассиега с использованием библиотек писанных на ассемблере

А я недавно где-то видел фотки кулера, прикрученного к плате саморезами навылет :)
Вспомню - линки выложу. Хотя они тут вроде были :))

Ответить

Номер ответа: 15
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #15
Добавлено: 17.04.06 16:25
Хех, у меня комп стоял с кулером, просто положенным на проц и прижатым стержнями от гелевой ручки :)

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам