Создание Tab Control в стиле Silver через костыли

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
Dubovitsky

Автор
junior
junior
Сообщения: 52
Зарегистрирован: 21 дек 2010, 12:11
Награды: 1
Версия LabVIEW: 2011
Контактная информация:

Создание Tab Control в стиле Silver через костыли

Сообщение Dubovitsky »

Думаю, не только меня неприятно удивило отсутствие Tab Control в красивой градиентной палитре Silver в LV 2011. Для единообразия интерфейса пришлось корявым способом обойти это ограничение. Может, кому пригодится или подскажете более лёгкий путь :)

Нам потребуются Tab Control (вернее, Indicator), Radio Buttons и Blank Button в стиле Silver (рис. 01)
  • 1. Заменяем элементы Radio Buttons на кнопки Silver - Blank Button, даём им Label как у табов и произвольные названия (Boolean Text). (рис. 02)
  • 2. Делаем Customize Radio Buttons, нажимаем Change to Customize Mode (гаечный ключ), создаём декорацию Flat Box и, щёлкунв на ней правой кнопкой - Copy to Clipboard (рис. 02). Затем на рамке Radio Buttins - Import from Clipboard at Same Size. Удаляем Flat Box. Теперь выбираем в панели Tools "прозрачный" цвет и заливаем фон и рамку. Radio Buttons готовы, осталось скрыть у них всех Label и, выбрав для контрола "AutoSizing -> Size to Fit", передвинуть кнопки нужным образом.
  • 3. Выбираем Customize для Silver Button и, в Customize Mode, копируем в Clipboard фон кнопки (удобнее щелкать в правом нижнем углу (рис. 03).
  • 4. На лицевой панели делаем Paste, получаем декорацию в стиле Silver. Прячем Tabs у Tab Control. Перемещаем Silver декорацию так, чтобы она полностью накрыла Tab Control. Не снимая выделения с декорации, нажимаем Ctrl+Shift+J (Move To Back). Декорация спрячется за Tab. Заливаем Tab "прозрачным" цветом.
  • 5. Выбрав RadioButtons, жмёмCtrl+Shift+J (Move To Back) и перемещаем их в нужное место вверху (или внизу) Tab Control (рис. 01).
  • 6. Теперь соединяем выход Radio Buttons со входом Tab (рис. SilverTabVI).
Костыль готов!

P.S.> Для снижения нагрузки и улучшения идеологии лучше создать Event Structure, в которой по событию Radio Button -> Value Change обновлять значение Tab.
Вложения
Что нужно и что будет
Что нужно и что будет
01.png (7.38 КБ) 4489 просмотров
Создаём правильные Radio Buttons
Создаём правильные Radio Buttons
Копируем Silver декорацию
Копируем Silver декорацию
03.png (5.48 КБ) 4489 просмотров
Подключаем RadioButton к Tab Indicator
Подключаем RadioButton к Tab Indicator
SilverTabVI.png (14.65 КБ) 4489 просмотров
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: Создание Tab Control в стиле Silver через костыли

Сообщение mzu2006 »

костыль получился довольно корявый. Например обратите внимание на тени от кнопочек и на перемычку между кнопками и большим полем TabControl.
01.jpg
01.jpg (11.05 КБ) 4450 просмотров
Dubovitsky

Автор
junior
junior
Сообщения: 52
Зарегистрирован: 21 дек 2010, 12:11
Награды: 1
Версия LabVIEW: 2011
Контактная информация:

Re: Создание Tab Control в стиле Silver через костыли

Сообщение Dubovitsky »

mzu2006 писал(а):костыль получился довольно корявый...
Подскажите другое решение, буду благодарен.

Довольно просто, убив полчаса, наделать в фотошопе или ином гимпе кнопочек без тени, для выключенного состояния - без нижнего края, перерисовать декорацию без верхнего края в нужных местах - и это будет одноразовое решение для конкретного случая. Причём довольно плохо масштабирующееся, если такая опция включена в настройках VI. Здесь же с минимумом затрат получается универсальное решение. Не идеальное, но альтернативы я не нашел. И будет хорошо, если кто-либо на неё укажет.

P.S.> Выпуклость кнопок легко убрать, растянув их по вертикали в два раза и сдвинув Boolean Text вверх.
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: Создание Tab Control в стиле Silver через костыли

Сообщение Konstantin Sumenko »

Не поймите превратно, но это уже не табконтрол, почему - указано mzu2006
Мне больше по душе другой обходной путь: взять декорацию от сильвер контрола, а поверх нее поставить system tabcontrol.
Вложения
TabControl_1.png
TabControl_1.png (9.07 КБ) 4416 просмотров
Dubovitsky

Автор
junior
junior
Сообщения: 52
Зарегистрирован: 21 дек 2010, 12:11
Награды: 1
Версия LabVIEW: 2011
Контактная информация:

Re: Создание Tab Control в стиле Silver через костыли

Сообщение Dubovitsky »

System Control меняется в зависимости от ОС, на которой запускается. У нас есть и WinXP. Да и мне главное было, чтобы интерфейс выглядел единообразно.
Аватара пользователя
toshas
assistant
assistant
Сообщения: 105
Зарегистрирован: 05 апр 2009, 22:45
Версия LabVIEW: 9.0
Благодарил (а): 13 раз
Поблагодарили: 7 раз
Контактная информация:

Re: Создание Tab Control в стиле Silver через костыли

Сообщение toshas »

Эх в 14ой опять не добавили...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Лицевая панель»