![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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:=следующий_компонент