Установить TAB по умолчанию

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1411
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 12 раз
Поблагодарили: 2 раза
Контактная информация:

Установить TAB по умолчанию

Сообщение RaFaeL »

Скрыть sheet, сменить таб, показать sheet )
Или что-то подобное
Мы вообще стараемся отказываться от табов в нагруженных окнах. Wizard и к нему управляющие кнопки, а точнее лист
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Установить TAB по умолчанию

Сообщение Yufil »

Игорь Столяров писал(а):
Yufil писал(а): Можно ещё спрятать окно или задвинуть за край, практически незаметно
Это уже, что-то из репертуара Дэвида Копперфильда получается ... ;)
Специфика работы...
kreator
✯ Ветеран ✯
Сообщения: 5159
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Установить TAB по умолчанию

Сообщение kreator »

Игорь, а мой вариант плох? Ещё может воспользоваться свойством броуза ActiveInvisible? Может моргает из-за заполнения броузов?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Установить TAB по умолчанию

Сообщение Игорь Столяров »

kreator писал(а): Игорь, а мой вариант плох?
Если немного подумать - то самый лучший. Он ведет к понимаю причины проблемы.
В чем причина мерцания (перерисовки окна) ? В том, что в Clarion TAB не имеет фокуса (к сожалению).

Что вообще происходит:
1. Открываем окно.
2. Выполняем Select(?Tab2) - но у него нет фокуса !
3. И поэтому фокус сразу переходит на первый контрол внутри TAB2.
4. А потом шаблон его сразу переводит на self.FirstField !
И вот здесь возникает (видимо) Event:Accept, который и перерисовывает окно.
(И поэтому Дед Пахом на своем "лысом" примере без ABC проблемы не видит)

Решение: Вместе с Select(?Tab2) выполняем self.FirstField = "Первое поле внутри ?Tab2" и нет п.4. и проблемы - проверил. :)
Немного напрягает, что активным становится именно первый контрол на TAB2 - но это уже совсем другая история ... ;)
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5159
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

Установить TAB по умолчанию

Сообщение kreator »

А Select(?Tab2) и не нужен в моём примере. Может быть попробовать обратный ход. При селекте контрола по условию, скажем, открытия окна делать селект на ?Tab2?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Установить TAB по умолчанию

Сообщение Игорь Столяров »

kreator писал(а): А Select(?Tab2) и не нужен в моём примере
Так или иначе - главное нужно сделать, что бы после смены TAB, шаблоны ABC не выполнили еще
один переход на self.FirstField, потому, что это приводит к обновлению содержимого окна.

Вопрос решен. Спасибо. :)
Make Clarion Great Again ! 😎
Ответить