Обработка событий

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

Обработка событий

Сообщение fob » 16.12.2006 (Сб) 15:28

На форме есть множество полей ввода. Например, 20. Как сделать так, что бы вне зависимости какой контрол активен, при нажатии какой-то кнопки (Например, F1) вызывался соответствующий обработчик? Вешать на каждый контрол событие мне кажется не самый лучшый вариант. В .NET для формы есть свойства PreviewKey. Ставим в true и можно вешать обработчик на форму и форма сначала обрабатывает событие, например, KeyDown от любого контрола. Как можно это решить в VB6?

Спасибо

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

Сообщение dr.MIG » 16.12.2006 (Сб) 15:37

А в VB6 есть свойство формы KeyPreview :lol:
Salus populi suprema lex

yaklit
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 129
Зарегистрирован: 09.09.2006 (Сб) 19:38

Сообщение yaklit » 16.12.2006 (Сб) 15:37

можно использовать directinput

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 16.12.2006 (Сб) 18:50

yaklit
Ага. И получать данные о нажатиях в других окнах и программах.
Изображение

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

Сообщение Хакер » 16.12.2006 (Сб) 21:24

yaklit
Угу. А для того чтобы нарисовать текстбоксы можно использовать Direct3D
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

nekeda
Постоялец
Постоялец
 
Сообщения: 710
Зарегистрирован: 10.04.2005 (Вс) 23:20

Сообщение nekeda » 16.12.2006 (Сб) 21:28

:lol:

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 16.12.2006 (Сб) 23:35

А ошибки можно обрабатывать с помощью DirectDraw и DirectSound! :lol:
#define ROFL 0xDDDD

fob
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 70
Зарегистрирован: 19.06.2005 (Вс) 21:29

Сообщение fob » 18.12.2006 (Пн) 10:14

dr.MIG писал(а):А в VB6 есть свойство формы KeyPreview :lol:


Блин, в ведь действительно ))) Я чувствовал, что оно должно быть, но сразу как-то не заметил ))) Ссори и спасибо )))

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 18.12.2006 (Пн) 12:55

Есть контролы, нажатия в которых не отражается на KeyPreview

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 18.12.2006 (Пн) 13:09

Nicky писал(а):Есть контролы, нажатия в которых не отражается на KeyPreview
А конкретней? Мне еще не попадались вроде :(

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

Сообщение GSerg » 18.12.2006 (Пн) 13:18

Это которые самописные юзерконтролы, суть которых в объекте UserControl, на котором лежит что-то, созданное через API...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 18.12.2006 (Пн) 13:58

shady писал(а):А конкретней? Мне еще не попадались вроде :(

Не отлавливаются Default и Cancel контролы. Не отлавливаются стрелки и Tab, если на форме есть элементы, которые могут принимать фокус и менять при использовании стрелок (кнопки, например).
Lasciate ogni speranza, voi ch'entrate.

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 18.12.2006 (Пн) 14:23

XpressQuantumGrid
Решил проблему навешиванием клавиатурного хука


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

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

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 41

    TopList