Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
2-1198665549
Ega23
2007-12-26 13:39
2008.01.27
Скрыть Excel


2-1198733905
Dana
2007-12-27 08:38
2008.01.27
Пароль для таблиц *.db


1-1192971907
Dimmitt
2007-10-21 17:05
2008.01.27
Синхронная прокрутка двух Memo


1-1193242832
Malina
2007-10-24 20:20
2008.01.27
Сохранить содержимое RichEdit в файл


2-1198899007
Joe
2007-12-29 06:30
2008.01.27
Перетаскивание строк в ListBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский