Страница 1 из 1
Выполнение действий при нажатии на клавишу
Добавлено: Вт авг 08, 2006 1:23 pm
Smile
При нажатии на клавишу CTRL (VK_CONTROL) выполняются функции записанные между begin и end чтобы действия прекратились, нужно повторное нажатие клавиши CTRL.
Дописать в Uses:
Uses
Windows;
в процедуре:
if GetKeyState(VK_CONTROL)=1 then
begin
…..
…..
…..
end;
Вопрос, возможно кто знает код если нужно выполнить действия при разовом нажатии клавиши?
Re: Выполнение действий при нажатии на клавишу
Добавлено: Пн сен 04, 2006 7:03 pm
Terranin
Smile писал(а):При нажатии на клавишу CTRL (VK_CONTROL) выполняются функции записанные между begin и end чтобы действия прекратились, нужно повторное нажатие клавиши CTRL.
Дописать в Uses:
Uses
Windows;
в процедуре:
if GetKeyState(VK_CONTROL)=1 then
begin
…..
…..
…..
end;
Вопрос, возможно кто знает код если нужно выполнить действия при разовом нажатии клавиши?
Надо дождаться отжатия клавиши и ничего не делать до этого события.
Re: Выполнение действий при нажатии на клавишу
Добавлено: Вт сен 05, 2006 11:28 am
Smile
Terranin писал(а):Smile писал(а):При нажатии на клавишу CTRL (VK_CONTROL) выполняются функции записанные между begin и end чтобы действия прекратились, нужно повторное нажатие клавиши CTRL.
Дописать в Uses:
Uses
Windows;
в процедуре:
if GetKeyState(VK_CONTROL)=1 then
begin
…..
…..
…..
end;
Вопрос, возможно кто знает код если нужно выполнить действия при разовом нажатии клавиши?
Надо дождаться отжатия клавиши и ничего не делать до этого события.
Т.е. вводить какую-то дополнительную переменную которая будет следить за тем чтобы действия между begin и end выполнились только один раз? Или есть какие другие методы?
Re: Выполнение действий при нажатии на клавишу
Добавлено: Вт сен 05, 2006 2:33 pm
Terranin
Smile писал(а):Terranin писал(а):Smile писал(а):При нажатии на клавишу CTRL (VK_CONTROL) выполняются функции записанные между begin и end чтобы действия прекратились, нужно повторное нажатие клавиши CTRL.
Дописать в Uses:
Uses
Windows;
в процедуре:
if GetKeyState(VK_CONTROL)=1 then
begin
…..
…..
…..
end;
Вопрос, возможно кто знает код если нужно выполнить действия при разовом нажатии клавиши?
Надо дождаться отжатия клавиши и ничего не делать до этого события.
Т.е. вводить какую-то дополнительную переменную которая будет следить за тем чтобы действия между begin и end выполнились только один раз? Или есть какие другие методы?
При нажатии зафиксировать этот факт в переменной и ждать когда клавишу отпустят на каком-то заходе в процедуру и только тогда выполнить один раз действие. Переменную очистить.