Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Tab на Enter


Dana ©   (2008-01-03 07:54:00) 

Всех с новым годом! Подскажите, в дельфи переход между компонентами  по умолчанию осуществляется Tab, где и как можно поменять на Enter для удобства ввода информации на готовой форме, заранее спасибо...


sniknik   (2008-01-03 16:26:00) [1]

> эта клавиша для другого, для закрытия диалога в любой точке.
кстати всегда казалось неудобным... особенно если на форме ввода присутствует мемо/ричедит, делал (и даже было одобрено юзерами)  закрытие с сохранением по Ctrl+Enter вместо просто Enter (выход без сохранения по Esc). а Enter действительно переход между Edit-ами  (в мемо/..., само собой, реакция оставалась стандартная).


Anatoly Podgoretsky   (2008-01-03 15:07:00) [2]

> Dana  (03.01.2008 14:17:11)  [11]

Постарайся не переходить по Enter - эта клавиша для другого, для закрытия диалога в любой точке.
Но если решишь в здравом уме, то смотри ответ [4]


Dana   (2008-01-03 14:17:00) [3]

ok


{RASkov}   (2008-01-03 13:29:00) [4]

> [9] Dana ©   (03.01.08 13:22)
> как обычно в базах - переход табом или enter-ом при вводе данных?

По умолчанию вездеТаб, не только в базах
А как ты у себя в программе сделаешь - это зависит от тебя....
ЗЫ Мне удобнее Энтером :)


Dana   (2008-01-03 13:22:00) [5]

Спасибо, скажите, как обычно в базах (не сталкивалась на дельфи написанных) переход табом или enter-ом при вводе данных?


palva   (2008-01-03 13:11:00) [6]

Так по-моему всегда сохраняется, если я правильно понял вопрос. Предотвратить сохранение можно если перед переходом сымитировать нажатие клавиши Escape.


Dana   (2008-01-03 11:35:00) [7]

Подскажите еще, при переходе табом он просто переходит, или еще и сохраняет значение, например, в едите, а enter? тоже переход или с сохранением?


Dana   (2008-01-03 11:33:00) [8]

Спасибо всем, поняла.


sniknik   (2008-01-03 10:45:00) [9]

до кучи
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619883&n=16


Evgeny V   (2008-01-03 10:37:00) [10]

Вариант два на Дельфи 6, ставим у формы свойство keypreview:=true;

И делаем обработчик события OnKeyUp

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
 Shift: TShiftState);
begin
 if key = vk_return then
   begin
     if not (ActiveControl is TButton) then // Для кнопок это не делаем
        SelectNext(ActiveControl, true, true);
   end;
end;


Вова   (2008-01-03 10:14:00) [11]

или так:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key = #13 then Edit2.SetFocus;
end;


Evgeny V   (2008-01-03 09:59:00) [12]

Дельфи 6, пример

interface
...............................................
type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Button1: TButton;
   Edit2: TEdit;
procedure CmDialogKey(var amess: TCMDialogKey); message CM_DIALOGKEY;

 private
   { Private declarations }
 public
   { Public declarations }
 end;
............................................

implementation
......................................

procedure TForm1.CmDialogKey(var amess: TCMDialogKey);
begin
 if (amess.CharCode = vk_return) then
 begin
   if not (ActiveControl is TButton) then// Для кнопок это не делаем
      amess.CharCode := vk_tab;// подменяем return на tab
 end;
 inherited;
end;

..........................................................


YurikGL   (2008-01-03 09:33:00) [13]

Например, так: отлавливаешь нажатие enter на конкретном компоненте, и делаешь Form1.actveControl:=следующий_компонент


Наверх

Титульная страница Поиск, карта сайта Написать письмо