Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизСмена функциональности при нажатой клавише Найти похожие ветки
← →
YT (2004-03-27 13:22) [0]Подскажите как лучше реализовать
смену действий(кнопок, меню и т.д) при нажтых
клавишах типа Ctrl или Alt или Shift.
Я на OnKeyDown при нажатии Ctrl или Alt или Shift
меняю boolean переменную и при выполнении
действий проверяю ее значение, а на OnKeyUp меняю
значение переменной назад. Так вот иногда при
работе получается что клавишу отпустил, а значение
переменной не изменилось и соответственно
функциональные действия остались как при нажатой клавише.
ПОДЕЛИТЕСЬ ОПЫТОМ ПО ЭТОМУ ВОПРОСУ.
← →
YT (2004-03-27 13:50) [1]Пример
private
FKeyAlt:Boolean;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
If (ssAlt in Shift) Then FKeyAlt:=True;
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
FKeyAlt:=False;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
If FKeyAlt Then Beep Else begin
Beep;
Sleep(1500);
Beep
end;
end;
← →
YT (2004-03-28 13:32) [2]nil or ...
← →
Тимохов © (2004-03-28 13:37) [3]почему бы не проверять нажати ли клавиша или нет непосредственно в начале события OnClick кнопки?
← →
Diamond Cat © (2004-03-28 14:29) [4]getkeystate
← →
YT (2004-03-29 12:25) [5]Спасибо за советы.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c