Форум: "Основная";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];
ВнизNext Tab Найти похожие ветки
← →
Михич (2002-11-18 07:44) [0]На форме у меня лежат куча Edit"ов. Между ними переход кнопочкой TAB, это все хорошо, а как сделать такой же переход ещё и при нажатии на Enter.
Вариант:
if ord(key)=13 then key:=chr(9);
чёй-то, не работает...
← →
Дмитрий К.К. (2002-11-18 07:58) [1]Нуно менять ActiveControl
← →
Михич (2002-11-18 08:05) [2]:-) 15 Edit"ов...
... как ты предлагаешь им воспользоваться???
← →
BIN (2002-11-18 08:13) [3]procedure TfmMain.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then SelectNext(Sender As tWinControl,true,true);
end;
← →
MBo (2002-11-18 08:13) [4]общий обработчик, в котором
ActiveControl:=FindNextControl(TEdit(Sender),true,true,true);
← →
Михич (2002-11-18 08:20) [5]прыгают, между Edit"ами, спасибо, НО...
>BIN только между Edit"ами
>MBo с первого Edit"а перескакивает сразу на кнопочку в конце...
а моно сделать так, чтобы Enter на форме, работал как ТАБ?
← →
MBo (2002-11-18 08:24) [6]>перескакивает сразу на кнопочку в конце
Установи TabOrder
← →
Михич (2002-11-18 08:27) [7]TabOrder стоит нормально. При нажатии на ТАБ все прагает нормально...
← →
MBo (2002-11-18 08:46) [8]у меня все нормально. Поиграй с Boolean параметрами
← →
shane54 (2002-11-18 10:12) [9]Народ а почему при нажатии на Enter звуковой сигнал раздаётся????
На форме 2 EditBox"а и код, который предложил BIN © (18.11.02 08:13)
procedure TfmMain.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then SelectNext(Sender As tWinControl,true,true);
end;
← →
Valeron (2002-11-18 10:27) [10]Привет, программеры!
Я использую этот код уже несколько лет и не жужу:
procedure TClientForm.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Key = #13) then
begin
Key:=#0;
Perform(WM_NEXTDLGCTL,0,0);
end;
end;
Выставляю где надо TabStop, и задаю TabOrder так чтобы шел обход компонент как нужно.
P.S. Кто мидасом занимается?
← →
Jony (2002-11-18 10:29) [11]
procedure TfrmForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then begin
Perform(WM_NEXTDLGCTL, 0, 0);
Key:=VK_TAB;
end;
end;
← →
shane54 (2002-11-18 10:38) [12]Попробовал всё что было предложено - только вариант Valeron (18.11.02 10:27) не пищит...
← →
Valeron (2002-11-18 12:44) [13]забыл!
для формы нужно сделать св-во keypreview = true.
А чтобы пищяло напиши Beep
← →
Manic Mechanic (2002-11-18 12:52) [14]По-моему так, причем работают и стрелки, а Esc закрывает форму
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var CtlDir: word;
begin
if(Key in [VK_UP, VK_DOWN, VK_RETURN])then begin
if Key=VK_UP then CtlDir := 1 else CtlDir := 0;
SendMessage(Handle, WM_NEXTDLGCTL, CtlDir, 0);
Key := 0;
end else if(Key=VK_ESCAPE)then begin
Key := 0;
Close;
end;
end;
← →
Дмитрий К.К. (2002-11-18 17:40) [15]Да вариантов МУЛЬОН
← →
Cherruty (2002-11-20 10:29) [16]Молодые люди помогите разобраться, почему при подобном переходе по Editам, после изменения данных срабатывает обработка события на Ок , хотя Editы никак с этим не связаны.
← →
Cherruty (2002-11-20 10:33) [17]Причем все равно как обрабатывать нажатие Enter, но я делаю так:
procedure TfrmBankEdit.EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if Key = VK_RETURN
then PostMessage(Self.Handle, WM_NEXTDLGCTL, 0, 0);
end;
← →
KSergey (2002-11-21 06:25) [18]Возможно, Ок сто ит как DefaultButton - тогда она естественно срабатывает по Enter.
← →
dim- (2002-11-22 09:25) [19]форма модальная, а в "ОК" ModalResult=mrOk
← →
Vlad1 (2002-11-22 20:42) [20]
Procedure Tform1.FormKeyPress(Sender:TObject;var Key:Char);
begin
if Key=#13 then begin
Key:=0;
perform(CM_DialogKey,VK_TAB,0);end;
end;
Обязательно Form.KeyPreview:=True;
Юзай.
Удачи!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.02;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c