Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/22: Рейтинг темы: голосов - 22, средняя оценка - 4.55
5 / 2 / 1
Регистрация: 01.11.2012
Сообщений: 121

Действия по нажатию клавиш

23.07.2013, 18:05. Показов 4301. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможноли заставить программу реагировать на нажатие клавиш? ну тоесть "если нажали "Z" , то выполнять тыры-пыры"?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.07.2013, 18:05
Ответы с готовыми решениями:

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

Нажатие-отжатие кнопок по нажатию-отжатию клавиш на клавиатуре
Всем доброго времени суток! Проблема такая: 1) В VB 6.0 нужно описать кнопку на нажатие и отжатие 2) Ситуация: Есть кнопка, ее нужно...

Включить таймер, выполняющий необходимые действия, по нажатию кнопки
как сделать так что бы включался таймер по нажатию кнопки и выполнял необходимые действия??? например по нажатию кнопки закрытие формы...

10
16 / 19 / 5
Регистрация: 22.07.2013
Сообщений: 133
23.07.2013, 18:13
Это? <<ТыК>>
0
5 / 2 / 1
Регистрация: 01.11.2012
Сообщений: 121
23.07.2013, 19:44  [ТС]
ладно, попрошу напрямую... В общем, нужно чтоб по нажатию на не важно какую кнопку, в окне выводился таймер обратного отсчета с 6 минут
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.07.2013, 20:32
Цитата Сообщение от MrLimon Посмотреть сообщение
ладно, попрошу напрямую...
Спасибо за доверие!

На форме Label1 и Timer1

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Dim tt As Long
Public Function GetTime(ByVal Seconds As Long) As String
    If Seconds <= 0 Then
        GetTime = "00:00:00"
        Timer1.Enabled = False
        MsgBox "BABAX!!!"
        Exit Function
    End If
   
    Dim Hour As Single, min As Single, Sec As Single
   
    Hour = Seconds / 60 / 60
    Sec = Seconds Mod 60
    min = (Hour - Int(Hour)) * 60
 
    GetTime = Format(Int(Hour), "00") & ":" & Format(Int(min), "00") & ":" & Format(Int(Sec), "00")
End Function
 
 
Private Sub Form_KeyPress(KeyAscii As Integer)
Timer1.Enabled = True ' нажатие на любую клавишу активирует таймер
End Sub
 
Private Sub Form_Load()
Timer1.Enabled = False
Label1.Caption = "Жми любую клавишу для активации"
tt = 360 ' На таймере 6 минут (60х60)
End Sub
 
Private Sub Timer1_Timer()
tt = tt - 1
Label1.Caption = GetTime(tt)
 
End Sub
0
5 / 2 / 1
Регистрация: 01.11.2012
Сообщений: 121
23.07.2013, 21:06  [ТС]
Pro_grammer, ничего не происходит после нажатия)
ну или работает, но не отображается
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.07.2013, 21:15
Цитата Сообщение от MrLimon Посмотреть сообщение
ничего не происходит после нажатия)
Я бы попросил ваш проект в студию!
Мой проект работает 100%
Предположу, что в вашем проекте в Таймере не установлен интервал.
Измените эту процедуру так:
Visual Basic
1
2
3
4
5
6
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1000
Label1.Caption = "Жми любую клавишу для активации"
tt = 360 ' На таймере 6 минут (60х60)
End Sub
2
5 / 2 / 1
Регистрация: 01.11.2012
Сообщений: 121
23.07.2013, 21:59  [ТС]
Pro_grammer, воот так работает)
только начинаю разбираться с таймерами... мутарно как-то

Добавлено через 40 минут
хм, может это что-то из разряда фантастики... но, можно как-нибудь сделать чтобы таймер начинал отсчет после нажатия, даже если окно программы не является активным?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
24.07.2013, 01:00
Лучший ответ Сообщение было отмечено The trick как решение

Решение

MrLimon, для этого нужно устанавливать глобальный хук. См. тему: Создание Крестика в центре экрана
2
5 / 2 / 1
Регистрация: 01.11.2012
Сообщений: 121
25.07.2013, 16:28  [ТС]
Dragokas, понятия не имею что это такое, в теме тож ниче не понял))

ну можно по другому, ведь реально сделать так чтоб окно программы было всегда активным?
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
25.07.2013, 17:44
Цитата Сообщение от MrLimon Посмотреть сообщение
ведь реально сделать так чтоб окно программы было всегда активным?
Реально конечно. Но тут уже полная смена концепции. Таймер нужен будет системный SetTimer, а не Timer1_Timer, и нажатие клавиши ловить не с помощью Form_KeyPress, а системной API GetAsyncKeyState.
В общем, почти всё надо переписать. Фактически материал в той теме, на которую ссылается Dragokas есть.
Начинай уже сам что то писать, а то это уже не помощь, а работа за тебя.
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4357 / 3427 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
04.02.2014, 18:15
А мне вот тоже предстоит таймер написать, у которого 12 минут будет всего и с обратным отсчетом времени и по окончании проигрывать mp3 звуковой файл (+ добавить опцию сколько раз повторять и с каким интервалом повторять, тоесть если файл еще не закончил играть, чтоб поверх накладывался он же и еще раз), плюс настройки запуска и остановки займера по заданному времени, так же по нажатию определенных сочетаний клавишь или просто нажав одну определенно заданную кнопку на клавиатуре, ну и при окончании времени чтоб перезапускался по новой и выдавал сообщение что алярм сработал, но при этом если работает Скринсейвер - не сбрасывать его а показать поверх него. (опция отключаема по желанию) ну и так. рад доработок....

Это для работы нужна эта программка... Желательно написать не торопясь за недельку...

Если что - создам по ней новую темку...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.02.2014, 18:15
Помогаю со студенческими работами здесь

Разные действия по нажатию на кнопку в зависимости от состояния CheckBox-а
У меня 2 CheckBox 'са. необходимо, чтобы при выборе первого: - при нажатии на Batton1, Form1 сворачивалась При выборе второго...

Действия по нажатию клавиш на клавиатуре
Всем Доброго времени суток. При видите пожалуйста пример программирования клавиш в C#, как приме что бы при нажатии одной клавиши...

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

Событие по нажатию клавиш
привет, друзья! в Excel необходимо выполнять бесконечную программу: Code1, после &quot;пробела&quot;, Code2 и т.д., а если нажать...

Вопрос по нажатию клавиш
Смотрю книги и уроки по Си, но не в одной не чего не упоминается о такой вещи: Например как сделать, что бы в консольном при нажатии...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru