Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
ВнизПочему не теряет фокус 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 вся ветка
Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c