Вниз
Скачать: CL | DM;

обработчик событий   Найти похожие ветки 

← →
lekseich   (2002-02-22 13:11) [0]

Я в DELPHI новичок. Помогите, пожалуйста , разобраться.
Требуется сделать так , чтобы двойной щелчок мышью и клавиши
ALT-X закрывли форму. Как заставить программу реагировать на эти
события .
Заранее благодарен.


← →
VictorT   (2002-02-22 13:27) [1]

void __fastcall TForm1::FormDblClick(TObject *Sender)
{
Close();
}

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if (нажато ALT+X)
Close()
}

P.S. Как узнать, что нажато ALT+X, пусть подскажет кто-небудь другой, а если разберёшся сам, то напиши.


← →
VictorT   (2002-02-22 13:29) [2]

Извиняюсь, забылся, я вообще-то на Билдере пишу, но думаю ты понял.


← →
[NIKEL] ©   (2002-02-22 13:39) [3]

>>VictorT
if ((Key == "X") && Shift.Contains(ssAlt))
...


← →
lekseich   (2002-02-22 13:54) [4]

Прошу прошения. Может я опять не правильно понял.
В задачке написано :"Двойной щелчок и ALT-X закрывают форму".
Эти два события следуют друг за другом. При выполнении этих действий по отдельности форма закрываться не должна.


← →
Val ©   (2002-02-22 14:09) [5]

как-то хитро придумано..
попробуйте выставлять флаг после даблклика и проверять его потом в OnKeyDown


← →
lekseich   (2002-02-24 08:42) [6]

спасибо за помощь.премного благодарен.


← →
ice   (2002-02-25 08:20) [7]

Вот на двойной клик по форме:

procedure TForm1.FormDblClick(Sender: TObject);
begin
form1.Close;
end;
А как хоткей оформлять я не помню.


← →
pasha676   (2002-02-26 11:44) [8]

Вообще-то если ты посмотришь на object inspector и на его закладку events то там есть события FormDblClick (ответ ice)и
событие OnKeyDown. По нему определяешь кнопки нажатые. Логические переменные позволят запросто реализовать алгоритм "и" этих событий.
использование OnKeyDown
procedure TMainForm.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssAlt in Shift) and (Key=<тут код клавиши>) then
begin
<тут что надо>
end;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
3-42933
Jony
2002-02-14 13:21
2002.03.14
Дополнительное редактируемое поле в ADODataSet


4-43224
kirya85
2002-01-16 08:45
2002.03.14
Как изменить размер окна чужого приложения?


3-42908
Draculenok
2002-02-13 15:00
2002.03.14
Для локальной сети


14-43186
Юрий Федоров
2002-01-29 10:41
2002.03.14
Проблема мышей


1-43003
Макс
2002-02-28 16:37
2002.03.14
Копирование TImage -> TImage




   Наверх