![]() |
|
|
![]()
|
|
| Nikosss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 9.1.2007 Где: Литва Репутация: нет Всего: нет |
Вопрос по поводу управления передвижения компонента при помощи клавиш клавиатуры (вверх, вниз, вправо, влево). Существуют ли какие-то константы управления этими клавишами? Как это можно реализовать?
К примеру switch (Key) { case ... :MoveUp(); case ... :MoveDown(); case ... :MoveRight(); case ... :MoveLeft(); } |
|||
|
||||
| CatOleg |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 14.7.2005 Где: Запорожье Репутация: нет Всего: нет |
VK_LEFT
VK_UP VK_RIGHT VK_DOWN |
|||
|
||||
| Nikosss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 9.1.2007 Где: Литва Репутация: нет Всего: нет |
Описал вот так функцию, но компонент не реагирует на нажатие клавиш.
Или надо делать вызов функции? Что здесь нетак?
|
|||
|
||||
| codelord |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 777 Регистрация: 7.5.2005 Где: ты моя темноглаза я где?! Репутация: 16 Всего: 39 |
А где находится фокус ввода?.
Пиши это в событии компонента на котором находится фокус ввода. Если это кнопка значит в ней и т.д. |
|||
|
||||
| Nikosss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 9.1.2007 Где: Литва Репутация: нет Всего: нет |
В данной ситуации есть Form1 по которой должен двигаться Image54.
Я понимаю нужно написать Form1->SetFocus(); Это, как я понимаю, Form1 будет настроена на ввод с клавиатуры. В функции
или нет? |
|||
|
||||
| Link90 |
|
|||
|
"Битый" пиксель ![]() Профиль Группа: Участник Сообщений: 214 Регистрация: 25.11.2005 Где: Иркутск - середин а земли! Репутация: 3 Всего: 7 |
Надо у формы поставить свойство KeyPreview=true !!!
|
|||
|
||||
| Nikosss |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 9.1.2007 Где: Литва Репутация: нет Всего: нет |
То есть Form1->KeyPreview=true; Пробовал закидывать эту строчку в функцию
, но тем не менее компонент не реагирует на нажатие клавиш. |
||||
|
|||||
| Nikosss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 9.1.2007 Где: Литва Репутация: нет Всего: нет |
Разобрался с Form1->KeyPreview=true; , но с этой опцией получается сделать только управление через Numpad клавиши. Для стрелок она не действует.
|
|||
|
||||
| segmentation_fault |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 14.2.2005 Где: в интернете Репутация: нет Всего: 1 |
Попробуй так:
и.т.д. стрелка вверх вроде бы 97, вниз 113, влево-вправо не помню, разкомментируй строчку:
в коде, тогда узнаешь. |
||||
|
|||||
| Nikosss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 9.1.2007 Где: Литва Репутация: нет Всего: нет |
Попробовал раскоментировать, показывает коды клавиш с цифрами, буквами, но стрелок как и ентера не показывает.
|
|||
|
||||
| segmentation_fault |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 14.2.2005 Где: в интернете Репутация: нет Всего: 1 |
странно, у меня показывал. Щас посмотрю, может быть еще какие-то настройки нужны. Добавлено @ 18:30 Прошу прощения, забыл, у меня там управление было через буквы A и Q (вниз и вверх соотв.), стрелок действительно не ловит. |
|||
|
||||
| segmentation_fault |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 14.2.2005 Где: в интернете Репутация: нет Всего: 1 |
В общем посмотрел, твой первоначальный код:
должен работать нормально, только как тут другие советовали, поставь KeyPreview = true, и еще включи NumLock на своей клавиатуре. |
|||
|
||||
| Nikosss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 9.1.2007 Где: Литва Репутация: нет Всего: нет |
да работает! Спасибо!
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |