Страница 2 из 2
Установить TAB по умолчанию
Добавлено: 28 Март 2017, 15:39
RaFaeL
Скрыть sheet, сменить таб, показать sheet )
Или что-то подобное
Мы вообще стараемся отказываться от табов в нагруженных окнах. Wizard и к нему управляющие кнопки, а точнее лист
Установить TAB по умолчанию
Добавлено: 28 Март 2017, 16:28
Yufil
Игорь Столяров писал(а): Yufil писал(а): Можно ещё спрятать окно или задвинуть за край, практически незаметно
Это уже, что-то из репертуара Дэвида Копперфильда получается ...

Специфика работы...
Установить TAB по умолчанию
Добавлено: 28 Март 2017, 16:47
kreator
Игорь, а мой вариант плох? Ещё может воспользоваться свойством броуза ActiveInvisible? Может моргает из-за заполнения броузов?
Установить TAB по умолчанию
Добавлено: 28 Март 2017, 17:30
Игорь Столяров
kreator писал(а): Игорь, а мой вариант плох?
Если немного подумать - то самый лучший. Он ведет к понимаю причины проблемы.
В чем причина мерцания (перерисовки окна) ? В том, что в Clarion TAB не имеет фокуса (к сожалению).
Что вообще происходит:
1. Открываем окно.
2. Выполняем Select(?Tab2) - но у него нет фокуса !
3. И поэтому фокус сразу переходит на первый контрол внутри TAB2.
4. А потом шаблон его сразу переводит на self.FirstField !
И вот здесь возникает (видимо) Event:Accept, который и перерисовывает окно.
(И поэтому Дед Пахом на своем "лысом" примере без ABC проблемы не видит)
Решение: Вместе с Select(?Tab2) выполняем self.FirstField = "Первое поле внутри ?Tab2" и нет п.4. и проблемы - проверил.

Немного напрягает, что активным становится именно первый контрол на TAB2 - но это уже совсем другая история ...

Установить TAB по умолчанию
Добавлено: 28 Март 2017, 17:42
kreator
А Select(?Tab2) и не нужен в моём примере. Может быть попробовать обратный ход. При селекте контрола по условию, скажем, открытия окна делать селект на ?Tab2?
Установить TAB по умолчанию
Добавлено: 28 Март 2017, 17:52
Игорь Столяров
kreator писал(а): А Select(?Tab2) и не нужен в моём примере
Так или иначе - главное нужно сделать, что бы после смены TAB, шаблоны ABC не выполнили еще
один переход на self.FirstField, потому, что это приводит к обновлению содержимого окна.
Вопрос решен. Спасибо.
