Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2008, 12:56   #1
AndreyF
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 44
По умолчанию Заставить работать клавишу Enter для события ToolButton1Click

Добрый день! Помогите задействовать клавишу enter на клавиатуре для события procedure TForm1.ToolButton1Click(Sender: TObject);
Желательно поподробней!
AndreyF вне форума Ответить с цитированием
Старый 15.10.2008, 13:14   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Эх-х-х... студенты...
Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=VK_RETURN then
ToolButton1Click(Self);
end;
mihali4 вне форума Ответить с цитированием
Старый 09.01.2009, 12:24   #3
AndreyF
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 44
По умолчанию Please

Добрый день! Очень нужна ваша помощь. Необходимо чтобы в поле ввода работало сочетание клавиш Ctrl+C.
У Edit стоит ограничение на вводимые символы:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (key=#8) or (key in ['а'..'я']) or (key in ['А'..'Я']) or (key='-') or ((key='#17') and (key='#67')) or (key='#17'+'#86') then
else Key:= #0;

keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event(Ord('C'), 0, 0, 0);
keybd_event(Ord('C'), 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); }
end;

У Edit ещё выставлено CharCase:=ecUpperCase;
Никак не хочет работать. Я читал на форуме ваши сообщения CTRL+V, только не смог их применить.
Помогите найти ошибку.

Последний раз редактировалось AndreyF; 09.01.2009 в 12:29. Причина: Недописанное сообщение
AndreyF вне форума Ответить с цитированием
Старый 09.01.2009, 13:29   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Нужно использовать события, обрабатывающие состояние функциональных клавиш - OnKeyDown, OnKeyUp.
Например:
Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
Key проверяйте на соответствие "С", а Shift - на нажатие CTRL.

Последний раз редактировалось mihali4; 09.01.2009 в 16:48.
mihali4 вне форума Ответить с цитированием
Старый 09.01.2009, 14:32   #5
AndreyF
Пользователь
 
Регистрация: 15.10.2008
Сообщений: 44
По умолчанию Ответ

Благодарю, сейчас попробую.
AndreyF вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заставить работать Winlogon slm Общие вопросы Delphi 3 18.09.2008 16:47
Как заставить компонент TTrackBar обрабатывать события мыши? Никки Общие вопросы Delphi 5 29.08.2008 14:17
Как заставить работать php? yourself Помощь студентам 9 20.05.2008 08:08
Как заставить работать dll ? Volkogriz Общие вопросы Delphi 10 13.12.2007 10:24
Заставить работать Tservise до выключения Windows Alter Общие вопросы Delphi 10 09.12.2007 21:39