Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
16 / 16 / 8
Регистрация: 07.03.2010
Сообщений: 146
1

При нажатии кнопки на клавиатуре нажимать TButton

27.05.2010, 19:19. Показов 2399. Ответов 17
Метки нет (Все метки)

Можно ли сделать, чтобы при нажатии кнопки на клавиатуре например буква "а" нажималась кнопка button1.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.05.2010, 19:19
Ответы с готовыми решениями:

Компонент TButton: Изменение размера шрифта кнопки при нажатии
Необходимо разработать компоненты, основанные на модификации стандартных компонентов, в...

При добавлении компонента к примеру кнопки. В коде Button1: TButton; выдает ошибку что TButton не известно.
Прошу у вас помощи. Rad Studio XE 3 выдает глупую ошибку. При добавлении компонента к примеру...

Как сделать, чтобы при первом нажатии на кнопку TButton появлялось одно сообщение, а при втором нажатии - другое?
помогите как сделать в чтобы в кнопке button при первом нажатий вылазило сообщение ShowMessage('Вы...

TButton - нажатие кнопок на форме при нажатии стрелок на клавиатуре
Подскажите пожалуйста, мне нужно что-бы при нажатии стрелок на клавиатуре нажимались кнопки на...

17
125 / 125 / 24
Регистрация: 14.02.2010
Сообщений: 289
27.05.2010, 19:30 2
Воть так моно!
Delphi
1
2
3
4
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (key='a') or (key='A') then ShowMessage('Назата кнопка '+ key);
end;
1
16 / 16 / 8
Регистрация: 07.03.2010
Сообщений: 146
27.05.2010, 19:33  [ТС] 3
Я попробовала сделать, но у меня не высветилось сообщение, почему?
0
2 / 2 / 0
Регистрация: 04.05.2010
Сообщений: 29
27.05.2010, 19:36 4
В тему.
Подскажите код, чтобы при нажатии на кнопку, вылазило окошко типа "Вы уверены что хотите это сделать" "да" - "нет", если да - то ......., если нет - то ............
0
903 / 664 / 132
Регистрация: 01.03.2010
Сообщений: 1,247
27.05.2010, 19:38 5
Kristina92,
Вам просто визуально нажать кнопку, или произвести действие от нажатия этой кнопки
0
16 / 16 / 8
Регистрация: 07.03.2010
Сообщений: 146
27.05.2010, 19:39  [ТС] 6
на кнопке уже заложено действие, поэтому надо сделать, чтобы нажалась эта кнопка, на которой уже есть действия
0
903 / 664 / 132
Регистрация: 01.03.2010
Сообщений: 1,247
27.05.2010, 19:44 7
Kristina92,

Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (key='a') or (key='A') Then Button1.Click
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('сработала кнопка Button1')
end;
Не забудь в инспекторе формы поставить KeyPreview в True

Буквы А и а английские. Если нужны еще русские - добывь к коду
1
Retired
7724 / 2556 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
27.05.2010, 19:45 8
Kristina92, если нужно нажать саму кнопку, то выставь у формы KeyPreview в True, в OnKeyDown пропиши следующее
Delphi
1
2
3
4
5
6
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = 65 then
    Button1.Click;
end;
1
192 / 173 / 37
Регистрация: 19.01.2010
Сообщений: 610
Записей в блоге: 1
27.05.2010, 19:46 9
Цитата Сообщение от Kristina92 Посмотреть сообщение
на кнопке уже заложено действие, поэтому надо сделать, чтобы нажалась эта кнопка, на которой уже есть действия
Delphi
1
2
3
4
5
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  If Key=65 then Button1.Click;
end;
По нажатию на кнопку А будет произведен клик по кнопке...
Прежде в свойство Button1 поставь TabStop=False
1
16 / 16 / 8
Регистрация: 07.03.2010
Сообщений: 146
27.05.2010, 19:49  [ТС] 10
что означает свойство:TabStop=False
0
903 / 664 / 132
Регистрация: 01.03.2010
Сообщений: 1,247
27.05.2010, 19:51 11
Цитата Сообщение от leejack Посмотреть сообщение
Key=65
Видимо Key = #65.
И это только для большой A
0
2 / 2 / 0
Регистрация: 04.05.2010
Сообщений: 29
27.05.2010, 19:53 12
Свойство TabStop определяет, может ли пользователь переходить по табуляции к данному оконному элементу управления.
То есть, по нажатию на кнопку [TAB], ваша кнопка не будет выделена.
По моему мнению, в Вашем случае ставить False необязательно..
1
192 / 173 / 37
Регистрация: 19.01.2010
Сообщений: 610
Записей в блоге: 1
27.05.2010, 19:56 13
Цитата Сообщение от Kristina92 Посмотреть сообщение
что означает свойство:TabStop=False
Означает, что фокус табуляцией нельзя было навести!...Не знал про свойство KeyPreview... Лучше использовать его!
1
Retired
7724 / 2556 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
27.05.2010, 19:57 14
Евгений В, глупости.
1
192 / 173 / 37
Регистрация: 19.01.2010
Сообщений: 610
Записей в блоге: 1
27.05.2010, 19:57 15
Цитата Сообщение от Евгений В Посмотреть сообщение
Видимо Key = #65.
И это только для большой A
Нет это как бы код кнопки! Поэтому какой-бы не была раскладка или регистр, нажатая кнопка не играла бы никакой роли!
1
903 / 664 / 132
Регистрация: 01.03.2010
Сообщений: 1,247
27.05.2010, 19:58 16
TabStop=False Означает, что кнопка не будет в фокусе при загрузке программы, и не помешает
FormKeyDown отследить нажатие. Так надо будет делать для всех кнопок. Кроме того, если они получат фокус- то все, реакции не будет. Лучше один раз в форме поставить KeyPreview в True
0
192 / 173 / 37
Регистрация: 19.01.2010
Сообщений: 610
Записей в блоге: 1
27.05.2010, 20:00 17
Цитата Сообщение от Kosten4ik Посмотреть сообщение
Свойство TabStop определяет, может ли пользователь переходить по табуляции к данному оконному элементу управления.
То есть, по нажатию на кнопку [TAB], ваша кнопка не будет выделена.
По моему мнению, в Вашем случае ставить False необязательно..
Имеет смысл, т.к. нельзя обработать нажатую клавишу при фокусе на кнопке!...Опять же я просто не знал свойство KeyPerview...
0
903 / 664 / 132
Регистрация: 01.03.2010
Сообщений: 1,247
27.05.2010, 20:01 18
Цитата Сообщение от leejack Посмотреть сообщение
Нет это как бы код кнопки!
Точно, меня на FormKeyPress потянуло
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.05.2010, 20:01

Определить, зажат ли Shift при нажатии кнопки TButton
Добрый день всем. Как в ButtonClick проверить нажата ли клавиша, а то у меня он ругается на Key,...

По нажатию кнопки на клавиатуре нажимать кнопку на форме
Доброго времени суток! Не давно начал изучать с++. Возник такой вопрос: как по нажатию кнопки на...

Действие при нажатии кнопки на клавиатуре
Всем, добрый день Подскажите пожалуйста как мне запретить действия при нажатии клавиш? Например,...

Запуск при нажатии кнопки на клавиатуре
Как при нажатии, например "Shift+ALT" выполнить эту команду?...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru