![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
обработка по нажатии ENTER в LabeledEdit [D4, D5, D6, D7, D2005]
Arsenija © (2006-08-02 10:58:00)Вопрос именно в этом. Есть поле ввода LabeledEdit. После ввода строки по нажатии клавиши ENTER надо запустить процедуру. Как это сделать?
Arsenija (2006-08-02 15:37:00) [1]Спасибо в квадрате.
Zeqfreed (2006-08-02 15:03:00) [2]> Или я не прав?
Shift является множеством. Оператором =можно сравнивать два множества на идентичность, выявить же принадлежность элемента множеству можно оператором in.
Arsenija (2006-08-02 14:15:00) [3]Всем спасибо. Это то, что и искал (аналог ReadKey в Pascal).
P.S.
>Zeqfreed
> procedure TForm1.LabeledEdit1KeyDown(Sender: TObject; var
> Key: Word;
> Shift: TShiftState);
> begin
> if ((Key = Ord('Q')) and ( ssShift in Shift)) then SomeProc;
> end;
Я думал, честно говоря, что в этом случае:
procedure TForm1.LabeledEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = Ord('Q')) and ( Shift=ssShift)) then SomeProc;
end;
Или я не прав?
Zeqfreed (2006-08-02 12:42:00) [4]> [2] Vlad © (02.08.06 11:07)
«Я знаю, что Земля не круглая» © Юрий Зотов
> Спасибо, а если это не ENTER , а символ на клаве (например
> Q)?
procedure TForm1.LabeledEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = Ord('Q')) then SomeProc;
end;
Хотя предположу, что ещё надо с шифтом? Тогда:
procedure TForm1.LabeledEdit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = Ord('Q')) and (ssShift in Shift)) then SomeProc;
end;
Id (2006-08-02 12:32:00) [5]
> Arsenija © (02.08.06 10:58)
Я просто делаю, вот так например
procedure TForm3.LabeledEdit1KeyPress(Sender: TObject; var Key: Char);
begin
if key =#13 then Button1Click(Sender);//Enter
if key =#27 then Button2Click(Sender);// Esc
end;
clickmaker (2006-08-02 12:29:00) [6]
> что делает процедура TForm1.LabeledEdit1Enter(Sender: TObject)
это не обработчик нажатия Enter. Она вызывается при получении LabelEdit фокуса. При уходе фокуса - OnExit
Arsenija (2006-08-02 11:21:00) [7]Спасибо, а если это не ENTER , а символ на клаве (например Q)?
P.S. И что делает процедура TForm1.LabeledEdit1Enter(Sender: TObject) ?
Vlad (2006-08-02 11:07:00) [8]
> Zeqfreed © (02.08.06 11:00) [1]
Просили по нажатию клавиши, а не по отпусканию. Соотв. OnKeyDown
Zeqfreed (2006-08-02 11:00:00) [9]
procedure TForm1.LabeledEdit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = VK_RETURN) then SomeProc;
end;