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

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

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

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

Привет всем ! :)

Есть очередной "детский вопрос" ...

Есть окно, на нем SHEET с несколькими TAB.
При открытии окна, по некоторым условиям, нужно сразу установить
какой-нибудь TAB, отличный от первого.

Сейчас это делается Select(?Tab3) - работает, но вызывает заметное
"моргание" окна при переустановке TAB ... :(

Вопрос: можно ли как-то иначе установить TAB по умолчанию при открытии окна ?
Заранее спасибо. :)
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

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

Сообщение gopstop2007 »

до открытия окна, у меня стоит в init после Prepare Alert Keys, вроде ничего не моргает
правда вызов немного другой SELECT(?Sheet1,loc_select_tab1)
Последний раз редактировалось gopstop2007 28 Март 2017, 11:31, всего редактировалось 1 раз.
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

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

Сообщение Yufil »

Ну, я бы для начала после открытия окна сказал 0{Prop:Buffer} = 1, обычно после этого моргание сильно уменьшается
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

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

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

gopstop2007 писал(а): до открытия окна, у меня стоит SELECT(?Sheet1,loc_select_tab1)
Очень интересно ... А что до открытия окна разве можно обращаться к экранным полям ?!
Они вообще имеют значения ... ? Мой вариант Select(?Tab3) так точно не работает ... :(
Yufil писал(а): Ну, я бы для начала после открытия окна сказал 0{Prop:Buffer} = 1
Спасибо - это интересно попробовать ...
Make Clarion Great Again ! 😎
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

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

Сообщение Дед Пахом »

Есть OPEN(Window), и есть Event:OpenWindow. После OPEN(Window) все контролы уже созданы и проинициализированы.
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

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

Сообщение Дед Пахом »

2-й TAB активен:

Код: Выделить всё

  PROGRAM

  MAP
  END

Window                        WINDOW('Caption'),AT(,,373,193),GRAY,FONT('Microsoft Sans Serif',8)
                                SHEET,AT(9,9,350,172),USE(?SHEET1)
                                  TAB('Tab1'),USE(?TAB1)
                                  END
                                  TAB('Tab2'),USE(?TAB2)
                                  END
                                END
                              END
  CODE
  OPEN(Window)
  SELECT(?TAB2)
  ACCEPT
  END
  
  
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

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

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

Дед Пахом писал(а): 2-й TAB активен:
У меня именно так сейчас и сделано. Но в окне много всего разного (Несколько LIST, куча кнопок и т.д.)
потому при таком варианте смены TAB оно заметно моргает .... :(
gopstop2007 писал(а): до открытия окна,
Проверил:

Код: Выделить всё

  Select(?SheetW,2)
  ! Open the window
  SELF.Open(ProgressWindow)                                ! Open window
Ожидаемо - не работает. :(
Make Clarion Great Again ! 😎
kreator
✯ Ветеран ✯
Сообщения: 5159
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

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

Сообщение kreator »

Попробуй так (не факт, что моргать не будет):

Код: Выделить всё

	self.FirstField = ?List2
Где-нибудь в Init оконного менеджера, ?List2 - контрол на нужном табе.
У меня используется такая конструкция, вроде жалоб не было. Но опять же не факт, может ещё что влияет.
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

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

Сообщение gopstop2007 »

еще раз проверил, работает :) С10 ABC
Вложения
001.jpg
002.jpg
002.jpg (7.36 КБ) 2945 просмотров
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ал
✯ Ветеран ✯
Сообщения: 1038
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия
Поблагодарили: 1 раз

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

Сообщение Ал »

Игорь Столяров писал(а): У меня именно так сейчас и сделано. Но в окне много всего разного (Несколько LIST, куча кнопок и т.д.)
потому при таком варианте смены TAB оно заметно моргает .... :(
те. если этот таб открывать по умолчанию первым - все ОК? так может "развести" все таб по разным окнам если столь важно чтоб "не моргало" :?:
kreator
✯ Ветеран ✯
Сообщения: 5159
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

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

Сообщение kreator »

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

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

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

gopstop2007 писал(а): еще раз проверил, работает С10 ABC
Вы же посмотрите код, перед тем как писать ...
Embed [Prepare AlertKey] находится значительно ниже Open(Window) ....
Естественно переключение закладки оператором SELECT() в этом месте прекрасно работает.
Я в вопросе написал, что делаю переключение сразу после открытия окна.

Т.е. сообщение "до открытия окна, у меня стоит в init ..." - неправильно. :(

В общем, похоже современная наука это не лечит, но есть болеутоляющее ( 0{Prop:Buffer} = 1 ) ....
За наводку об этом - спасибо ! Узнал, что-то новое, попробую прикрутить. :)
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

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

Сообщение gopstop2007 »

Игорь Столяров писал(а):Т.е. сообщение "до открытия окна, у меня стоит в init ..." - неправильно. :(
Извините облажался, поторопился :idied: Бес попутал с EVENT:OpenWindow
Но если поставить сразу после SELF.Open(Window) Message('?'), откроется message, а потом окно. То есть, если я правильно понял окно появляться после EVENT:OpenWindow
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

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

Сообщение Yufil »

Можно ещё спрятать окно или задвинуть за край, практически незаметно

Код: Выделить всё

hide(0) ; Select(...) ; unhide(0) 

0{Prop:xpos} = 0{prop:xpos} - 5000; Select(...);  0{Prop:xpos} = 0{prop:xpos} + 5000
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8028
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

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

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

Yufil писал(а): Можно ещё спрятать окно или задвинуть за край, практически незаметно
Это уже, что-то из репертуара Дэвида Копперфильда получается ... ;)
Make Clarion Great Again ! 😎
Ответить