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

Почему не теряет фокус TDBEdit   Найти похожие ветки 

← →
Fom   (2004-02-04 11:57) [0]

Мастаки, есть несколько TDBEdit на форме, между двумя завязана такая логика, что если у первого едита пусто, то вводить значения в другой нельзя(OnEnter), выдается соответсвующая месага и передается фокус первому едиту. Так вот когда происходит данная ситуация, все нормально проходит - месага выдается, фокус передается, но при попытке уйти в третий контрол срабатывает опять событие(OnEnter) у второго едита, но как такое может быть если он фокус потерял?

procedure TfMain.dbeLTEnter(Sender: TObject);
begin
if dm.dsGetCarrier.FieldByName("OZ").IsNull then
begin
MessageBox(Application.Handle,"Отсутсвуют данные о типе!","Ошибка",MB_OK+
MB_ICONERROR+MB_APPLMODAL);
dbcbOZ.SetFocus;
end


← →
Anatoly Podgoretsky ©   (2004-02-04 12:05) [1]

До того как потерял, сначала получил

1.Exit 2.enter 2.Focus+Enter


← →
Anatoly Podgoretsky ©   (2004-02-04 12:06) [2]

1 2 1


← →
Fom   (2004-02-04 12:10) [3]

2 Anatoly Podgoretsky
не понял.
"До того как потерял, сначала получил" - можно подробнее, пожалуйста.
"1.Exit 2.enter 2.Focus+Enter" - и тут.


← →
Sandman25 ©   (2004-02-04 12:13) [4]

Edit1.Enter -> Edit1.Exit -> Edit2.Enter -> Edit2.Exit -> Edit3.Enter...


← →
Fom   (2004-02-04 12:17) [5]

Это порядок вызова событий. А методы где?


← →
Sandman25 ©   (2004-02-04 12:23) [6]

У Вас есть обработчики для событий Edit2.OnExit или Edit3.OnEnter? Они случайно не указывают на тот же самый dbeLTEnter?


← →
Fom   (2004-02-04 12:31) [7]

нет


← →
Sandman25 ©   (2004-02-04 12:36) [8]

Уверены?
Только что сделал тестовый проект, такого поведения не наблюдается. Все работает, как надо.
D6, Win2k.


← →
Fom   (2004-02-04 12:48) [9]

действительно :(
буду копать


← →
Fom   (2004-02-04 13:12) [10]

2 Sandman25
ты пробовал на обычных Edit?
на DBEdit глючит...


← →
Sandman25 ©   (2004-02-04 13:15) [11]

Да, на обычных.
Переделал на DBEdit. Все равно работает :)


← →
Fom   (2004-02-04 13:22) [12]

Не знаю как, но почему-то после передачи
фокуса обязательному полю в событии OnEnter(см. первый пост), возврат всегда идет в этот же DBEdit, как это происходит фиг его знает...


← →
Sandman25 ©   (2004-02-04 13:32) [13]

Переходите через Tab? Может, следующим после Edit2 указан Edit1?


← →
Fom   (2004-02-04 13:41) [14]

Нет, просто кликаю мышкой... фиг его знает. Уже и незнаю, может это глюк в EhLib?



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

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



Память: 0.47 MB
Время: 0.016 c
1-38904
Ajax
2004-01-30 12:03
2004.02.13
Выпадающий список ComboBox


3-38733
Санек
2004-01-24 19:13
2004.02.13
Таблица с вычисляемыми вертикальными полями ?


1-38916
Bizz
2004-02-05 09:43
2004.02.13
Сборник статей на Дельфи


3-38680
T__Alex
2004-01-23 21:27
2004.02.13
Как указать с каким LangDriverом открыть dbf


1-38785
Dimich1978
2004-02-03 14:32
2004.02.13
Удаленная инсталляция




   Наверх