Форум: "Основная";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
ВнизCtrl+?, как поймать? Сама знаю, что глупо. :) Найти похожие ветки
← →
deedlit (2003-04-29 15:33) [0]Сабж. Голая форма, нужно ловить нажатия типа Ctrl-F, Ctrl-X etc. TMainMenu использовать нельзя.
Я пыталась выставить для формы KeyPreview:=true и написать обработчик OnKeyPress...
If UpperCase(Key)="S" then
If ssShift in GetShiftState then RunAction;
Вот процедура для ловли состояния спецклавиш:
function TMainForm.GetShiftState: TShiftState;
begin
Result:=[];
If GetKeyState(VK_SHIFT)<0 then Include(Result, ssShift);
If GetKeyState(VK_CONTROL)<0 then Include(Result, ssCtrl);
If GetKeyState(VK_MENU)<0 then Include(Result, ssAlt);
end;
Я что-то упускаю, или делать нужно вообще по-другому?
← →
Skier (2003-04-29 15:36) [1]А почему ты хочешь обрабатывать Ctrl-?, а проверяеть на
Shift ?
If UpperCase(Key)="S" then
If ssCtrl in GetShiftState then RunAction; Не поможет ?
← →
UserMicc (2003-04-29 15:38) [2]
2 Skier © (29.04.03 15:36):
ответ прост.. это - "ОНА"!
← →
Skier (2003-04-29 15:41) [3]>UserMicc
Какая разница ОНА или ОН, лишь бы работало...
← →
MBo (2003-04-29 15:43) [4]так не устроит?
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssCtrl in Shift) and (Key=Ord("S")) then ...
end;
← →
Юрий Федоров (2003-04-29 15:45) [5]А почему не OnKeyDown ?
← →
UserMicc (2003-04-29 15:51) [6]
MBo © (29.04.03 15:43) прав, как и
Skier © (29.04.03 15:41)...
← →
deedlit (2003-04-29 16:11) [7]To Skier:
> А почему ты хочешь обрабатывать Ctrl-?, а проверяеть на
> Shift ?
Тьфу, да опечаталась просто, когда вопрос писала. %)
To MBo:
> так не устроит?
Ой. Спасибо большое. Действительно, все работает. :)
← →
MsGuns (2003-04-29 16:47) [8]Если надо ловить конкретное кол-во конкретных комбинаций Ctrl+.., то добавть TActionList с акциями по одной на каждую комбинацию. В ShortCut каждой акции укажи нужную комбинацию, а в обработчике пропиши алгоритм "реакции". В дальнейшем при необходимости можно эти экшины назначить элементам управления (пунктам меню, DropDown-меню, кнопкам и т.д.), не прописывая обработчики для всех подобных контролов.
← →
kull (2003-04-29 17:34) [9]
> MsGuns © (29.04.03 16:47)
Вот. Полностью поддерживаю! Енто и есть правильный подход.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c