Вниз
Скачать: CL | DM;

Поле, обязательное для ввода   Найти похожие ветки 

← →
old_mole ©   (2002-11-20 15:40) [0]

Eсть на форме TEdit. Как мне не дать юзеру уйти с него, если содержимое пусто. Я понимаю, что надо перехватывать WM_KILLFOCUS, а вот дальше что?


← →
OlegMsc ©   (2002-11-20 15:44) [1]

на OnExit

if Edit.Text="" then Edit.SetFocus;


← →
Starkom ©   (2002-11-20 15:44) [2]

на OnExit фокус назад и кидай.
Хотя я не могу въехать в разницу между WM_EXIT и WM_KILLFOCUS


← →
Anatoly Podgoretsky ©   (2002-11-20 15:45) [3]

Никогда не уйти?


← →
Troll   (2002-11-20 15:47) [4]

проверить содержимое TEdit и выполнить SetFocus.


← →
Troll   (2002-11-20 15:49) [5]

какие мы все умные, да еще и быстрые!!! :))))


← →
Skyle ©   (2002-11-20 15:49) [6]

А может как-нибудь так?
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if Length(Trim(Edit1.Text)) = 0 then
begin
ShowMessage(Не, ну нихрена себе!!!");
Self.ActiveControl := Edit1;
end;
end;


← →
old_mole ©   (2002-11-20 15:52) [7]

Благодарствуйте господа


← →
Starkom ©   (2002-11-20 15:53) [8]

2 Skyle: SetFocus меньше времени при выполнении съест, чем ActiveControl:=...


← →
Anatoly Podgoretsky ©   (2002-11-20 16:07) [9]

Какая разница, ты же даже до конца клавишу не успеешь нажать, меня же более интересует ответ на мой уточняющий вопрос "никогда не выйти" и также как быть с клавишй по умолчанию, в эиом случае этого события не будет


← →
old_mole ©   (2002-11-20 16:15) [10]

>Anatoly Podgoretsky
"никогда не выйти" - это я конечно погорячился, выйти можно конечно, например по Esc


← →
Anatoly Podgoretsky ©   (2002-11-20 16:26) [11]

Тогда другое дело, обрабатывай в OnExit но введи признак выхода, что бы не пришлось уходить по трем клавишам, дополнительно делай проверку при выход по клавише ОК если она назначено клавишей по умрочанию. При выходе в OnExit возвращай по SetFocus, а при выходе по ОК дополнительн еще и ModalResult := mrNone
Хороше при этом оповестить пользователя о проблеме, но чаще полезнее проверку только при попыике закрытия формы



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
1-4445
Eugenex
2002-11-20 10:49
2002.12.02
DLL на старте отсутствует!


6-4553
SZap
2002-10-07 19:22
2002.12.02
.txt на FTP


1-4489
id_privin
2002-11-18 20:29
2002.12.02
Отладка работы компонент в Design-time


3-4236
Takeda
2002-11-14 13:56
2002.12.02
Замена столбца при отображении в DBGrid


1-4478
old_mole
2002-11-20 15:40
2002.12.02
Поле, обязательное для ввода




   Наверх