Форум: "Основная";
Текущий архив: 2003.10.06;
Скачать: [xml.tar.bz2];
ВнизКак программно вызвать переход фокуса на следущ. контрол? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c