Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.008 c
8-4523
Olgerd
2002-04-19 17:44
2002.12.02
Direct3D


14-4631
Anar
2002-11-11 21:31
2002.12.02
Вопрос по Outlook Express


14-4605
Akella
2002-11-05 08:27
2002.12.02
Все приходит в наш мир в муках?


1-4365
AlexeyMir
2002-11-22 11:31
2002.12.02
Утечка памяти


3-4218
VeLeS
2002-11-14 02:08
2002.12.02
Компонент для отображения дерева





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский