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

Вниз

Tab на Enter   Найти похожие ветки 

 
Dana ©   (2008-01-03 07:54) [0]

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


 
YurikGL ©   (2008-01-03 09:33) [1]

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


 
Evgeny V ©   (2008-01-03 09:59) [2]

Дельфи 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;

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


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

или так:

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


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

Вариант два на Дельфи 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;


 
sniknik ©   (2008-01-03 10:45) [5]

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


 
Dana ©   (2008-01-03 11:33) [6]

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


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

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


 
palva ©   (2008-01-03 13:11) [8]

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


 
Dana ©   (2008-01-03 13:22) [9]

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


 
{RASkov} ©   (2008-01-03 13:29) [10]

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

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


 
Dana ©   (2008-01-03 14:17) [11]

ok


 
Anatoly Podgoretsky ©   (2008-01-03 15:07) [12]

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

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


 
sniknik ©   (2008-01-03 16:26) [13]

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



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

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

Наверх




Память: 0.49 MB
Время: 0.011 c
2-1199012805
dim
2007-12-30 14:06
2008.01.27
Вывод на печать


2-1198750703
Dash Rendar
2007-12-27 13:18
2008.01.27
Drag n Drop между страницами PageControl


15-1198017563
Dezigo
2007-12-19 01:39
2008.01.27
Калькулятор в строке


3-1189751998
Xmen
2007-09-14 10:39
2008.01.27
Учет доставки периодики. Проблема с недоставкой.


3-1190140314
lz269
2007-09-18 22:31
2008.01.27
IB6-Delphi5, проблемы с полями DATE