![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поле, обязательное для ввода [D5, NT4]
old_mole © (2002-11-20 15:40:00)Eсть на форме TEdit. Как мне не дать юзеру уйти с него, если содержимое пусто. Я понимаю, что надо перехватывать WM_KILLFOCUS, а вот дальше что?
Anatoly Podgoretsky (2002-11-20 16:26:00) [1]Тогда другое дело, обрабатывай в OnExit но введи признак выхода, что бы не пришлось уходить по трем клавишам, дополнительно делай проверку при выход по клавише ОК если она назначено клавишей по умрочанию. При выходе в OnExit возвращай по SetFocus, а при выходе по ОК дополнительн еще и ModalResult := mrNone
Хороше при этом оповестить пользователя о проблеме, но чаще полезнее проверку только при попыике закрытия формы
old_mole (2002-11-20 16:15:00) [2]>Anatoly Podgoretsky
"никогда не выйти" - это я конечно погорячился, выйти можно конечно, например по Esc
Anatoly Podgoretsky (2002-11-20 16:07:00) [3]Какая разница, ты же даже до конца клавишу не успеешь нажать, меня же более интересует ответ на мой уточняющий вопрос "никогда не выйти" и также как быть с клавишй по умолчанию, в эиом случае этого события не будет
Starkom (2002-11-20 15:53:00) [4]2 Skyle: SetFocus меньше времени при выполнении съест, чем ActiveControl:=...
old_mole (2002-11-20 15:52:00) [5]Благодарствуйте господа
Troll (2002-11-20 15:49:00) [6]какие мы все умные, да еще и быстрые!!! :))))
Skyle (2002-11-20 15:49:00) [7]А может как-нибудь так?
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if Length(Trim(Edit1.Text)) = 0 then
begin
ShowMessage(Не, ну нихрена себе!!!");
Self.ActiveControl := Edit1;
end;
end;
Troll (2002-11-20 15:47:00) [8]проверить содержимое TEdit и выполнить SetFocus.
Anatoly Podgoretsky (2002-11-20 15:45:00) [9]Никогда не уйти?
OlegMsc (2002-11-20 15:44:00) [10]на OnExit
if Edit.Text="" then Edit.SetFocus;
Starkom (2002-11-20 15:44:00) [11]на OnExit фокус назад и кидай.
Хотя я не могу въехать в разницу между WM_EXIT и WM_KILLFOCUS