Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.06;
Скачать: CL | DM;

Вниз

Как программно вызвать переход фокуса на следущ. контрол?   Найти похожие ветки 

 
lovres   (2003-09-24 15:15) [0]

Есть куча DBEdit"ов и надо по нажатию "Enter" переходить на следующий контрол. Как это сделать?


 
Skier ©   (2003-09-24 15:18) [1]

TWinControl.SelectNext(...) ?


 
webpauk   (2003-09-24 15:23) [2]

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key=VK_Return) then Edit2.SetFocus;
end;


 
lovres ©   (2003-09-24 15:26) [3]

ну это понятно, но так надо для каждого контрола отдельно процедуру делать, а хотелось бы чтобы для всех была одна и осуществляла переход на след. контрол в TabControlList"е


 
Palladin ©   (2003-09-24 15:26) [4]


> webpauk

А ты уверен что Edit2 это следующий контрол?


 
Verg ©   (2003-09-24 15:27) [5]

PostMessage(Handle, WM_NEXTDLGCTL, 0, 0);


 
lovres ©   (2003-09-24 15:33) [6]

Спасибо, Verg! API рулит!


 
still ©   (2003-09-24 15:45) [7]

а
Skier © (24.09.03 15:18) [1]
чем не устраивает?


 
Palladin ©   (2003-09-24 15:56) [8]

потому что у Vergа уже написано, а у Skierа нужно чего то еще там дописывать, нафиг надо...


 
Verg ©   (2003-09-24 16:23) [9]


> потому что у Vergа уже написано, а у Skierа нужно чего то
> еще там дописывать, нафиг надо...


... и не хватало еще вспотеть при этом...


 
lovres ©   (2003-09-24 16:56) [10]

Правильно, а нахрена там ещё Сендера вписывать, если тут всё уже есть, да и вариант красивый.


 
Vic   (2003-09-25 14:00) [11]


procedure TFNew.FormCreate(Sender: TObject);
begin
KeyPreview:=True;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key =VK_RETURN then begin
Key := 0;
SelectNext(ActiveControl,true,true);
end;
end;


 
Настенька   (2003-09-25 14:10) [12]

Вот намного легче способ
procedure tedit1.onkeypress;
if key=#13 then edit2.setfocus;
при нажатие в едите1 энтер курсор встанет на 2 эдит


 
Palladin ©   (2003-09-25 14:12) [13]

легче чем что?


 
Vic   (2003-09-25 14:16) [14]

обшибся...

>>procedure TFNew.FormCreate(Sender: TObject);
>>begin
>> KeyPreview:=True;
>>end;


procedure TForm1.FormCreate(Sender: TObject);
begin
KeyPreview:=True;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key =VK_RETURN then begin
Key := 0;
SelectNext(ActiveControl,true,true);
end;
end;


 
willys ©   (2003-09-25 14:31) [15]

если во время ввода не надо выполнять никаких проверок на нажатие других клавиш, то очень удобно пользоваться SelectNext, только ставить его надо в обработчик TDBEdit.OnKeyDown, а не на форму. ведь на форме могут быть и другие компоненты ;).
а вообще я когда-то потратил 10 минут и вывел новые компоненты из TEdit, TDBEdit, TComboBox и т.д., отличающиеся от стандартных только поведением при нажатии Enter и свойством, разрешающим/запрещающим это дело. что и всем советую. очень удобно, и форму не загромождаешь лишними событиями.



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

Текущий архив: 2003.10.06;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.013 c
6-18497
Vulko
2003-08-09 22:35
2003.10.06
TWebBrowser


1-18434
Sewix
2003-09-25 08:59
2003.10.06
Как узнать атрибут файла?


1-18326
Gaber-IIEP
2003-09-23 18:39
2003.10.06
Delphi 6.0 vs Delphi 7.0


3-18243
SerKom
2003-09-16 14:00
2003.10.06
Почему не проходят агрегируемые функции в запросе TADOQuery


3-18276
k_len
2003-09-15 12:34
2003.10.06
Базы данных