![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переход по TEdit - ам с помощью Enter [D6, Win95/98]
AlexFe © (2004-07-23 12:32:00)На форме множество Edit как правильно переходить по ним при нажатии Enter .(желательно только по тем которые могут быть в фокусе) Обрабатывать KeyPress каждого эдита как-то
неприлично.
vecna (2004-07-23 16:57:00) [1]вообще, enter по идее должен быть аналогом клика по кнопке ок, так же как esc - по кнопке cancel, так же как пререход - tab'ом. это стандарт!
s999 (2004-07-23 14:45:00) [2]Обрабатывай KeyDown формы при (КеуPreview = True)
Посмотри:
TWinControl.FindNextControl(CurControl: TWinControl; GoForward, CheckTabStop, CheckParent: Boolean): TWinControl;
To Rem:
Не все же левши, как ты и Билл Гейтс.
AlexFe (2004-07-23 14:28:00) [3]Mim1 >
Иметтся в виду количество обработчиков KeyPress каждого Edita.
Rem >
Насчет переучивания, так это для свох делается(почти угадал на счет Бухгалтеров)
Rem (2004-07-23 14:09:00) [4]Бухгалтера - очень неприличные люди. Когда смотришь, как у них рука к Enter'у тянется, возникает ощущение, что у всех них богатейший опыт работы в DOS'е.
Tab - на то и Tab, чтобы ходить между контролами. Это встроенная функция Windows.
Переучивать надо таких пользователей, а не подстраиваться под них!
Mim1 (2004-07-23 13:36:00) [5]
> [9] AlexFe (23.07.04 13:06)
А какое отношение имеет красота к количеству эдиток в контексте этого овпроса?
Хотя 40 эдитов на форме действительно некрасиво.
AlexFe (2004-07-23 13:06:00) [6]Anatoly Podgoretsky
Не смешно если эдитов приблизительно 40 штук
получается очень некрасиво.
Anatoly Podgoretsky (2004-07-23 13:00:00) [7]Переходить по TEdit - ам с помощью Enter неприлично, хоть и можно.
AlexFe (2004-07-23 12:41:00) [8]Jeer
Большое спасибо, обязательно попробую.
Jeer (2004-07-23 12:39:00) [9]Из RX
procedure TCurrencyEdit.KeyPress(var Key: Char);
var
MYForm: TCustomForm;
begin
if EntAsTab then
begin
if Key = #13 then
begin
MYForm := GetParentForm( Self );
if not (MYForm = nil ) then
SendMessage(MYForm.Handle, WM_NEXTDLGCTL, 0, 0);
Key := #0;
end;
end;
if Key <> #0 then inherited KeyPress(Key);
end; { TCurrencyEdit.KeyPress }
AlexFe (2004-07-23 12:38:00) [10]Как указать следующий едит? и предыдущий.
Я понимаю что это скорее всего просто но
пока сие мне не дано.
Reindeer Moss Eater (2004-07-23 12:36:00) [11]Каким образом?
Ты хочешь сам написать, или просто не знаешь, что на сайте есть статьи, поиск и faq?
Jeer (2004-07-23 12:35:00) [12]Расширить возможности TEdit, создав потомок с нужной функциональностью.
AlexFe (2004-07-23 12:35:00) [13]Каким образом?
Reindeer Moss Eater (2004-07-23 12:34:00) [14]Обрабатывать KeyPress каждого эдита как-то
неприлично.
Обрабатывай у формы на которой они лежат.