Другой вариант выползающей менюшки

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

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

Другой вариант выползающей менюшки

Сообщение Dubovitsky »

Почитал вот эту тему:http://labviewportal.eu/viewtopic.php?f=35&t=5261 и решил сделать свой вариант. Давно собирался, да всё руки не доходили.

Основные отличия: Как мне кажется, меньшая требовательность к ресурсам, возможность без проблем добавить несколько выползающих меню, простота использования и лёгкий доступ к элементам меню (все находятся в одной VI).
В выползающее меню можно превратить любой Control, удобнее всего - Tab.

На вход подаются:
  • Pane - указатель на Pane, где находится меню;
    Control in - указатель на Control, который является меню, преобразованный к Generic Control;
    PinButton - указатель на Boolean, преобразованный к Generic Boolean, служащий для закрепления (Pin) меню в развёрнутом состоянии (его можно оставить пустым, если эта функция не нужна);
    Parameters - настройки меню
Настройки:
  • Top(Relative) - позиция меню относительно верхнего края панели;
    VisiblePart - ширина выступающей части меню, когда оно скрыто;
    Step - шаг перемещения меню при открытии/закрытии за 50 мс;
    PinByDblClk? - разрешить закрепление (Pin) меню двойным кликом по нему;
    IdleTimeout - Таймаут для Event Structure при простое
Если включена настройка PinByDblClk?, то закрепить меню можно двойным кликом на нём.
Универсальную менюшку (чтобы настраиваемо выползала со всех сторон) делать откровенно лень, ведь эту переделать довольно просто, но, возможно, руки и до этого дойдут.
Единственное, нужно следить, чтобы контролы меню были самыми верхними на лицевой панели.

Добавид лемонстрацию с эффектами прозрачности.
Вложения
MovingMenu (SubVI).vi
SubVI для создания меню.
(39.05 КБ) 284 скачивания
Demo.vi
Демонстрация возможностей меню.
(17.54 КБ) 292 скачивания
Demo2.vi
Демка с прозрачностями
(30.44 КБ) 246 скачиваний
Последний раз редактировалось Dubovitsky 09 окт 2012, 16:32, всего редактировалось 2 раза.
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Другой вариант выползающей менюшки

Сообщение Sergey Ivanov »

Супер, мне понравилось :super: . Сам чё-то не догадался перемещать контрол.

Идея как сделать прозрачно (только ен знаю наскольо реализуемо):

1 накладываем полупрозрачную картинку на TAB (в форамте png)
2 делаем невидимым TAB
Добро пожаловать на http://rk-stud.ru/
Dubovitsky

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

Re: Другой вариант выползающей менюшки

Сообщение Dubovitsky »

Если сделать контрол невидимым, на него не сработает Event, к сожалению.
А вот заменить фон контрола на *.png с прозрачностью - это будет красиво! Но, увы, не получится менять прозрачность в процессе выдвигания. Зато можно сделать именно торчащий хвостик, а не весь край. Но выдвигаться будет и по прозрачному краю.
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Другой вариант выползающей менюшки

Сообщение Sergey Ivanov »

Dubovitsky писал(а):Но, увы, не получится менять прозрачность в процессе выдвигания. Зато можно сделать именно торчащий хвостик, а не весь край. Но выдвигаться будет и по прозрачному краю.
в принципе, менять прозрачность в процессе не так и нужно. а то что хвостик только торчать будет это сильно симпатичсно будет. ваш пример мне больше понравился. буду экспериментировать с ним ( на предмет прозрачности и невидимости)
Добро пожаловать на http://rk-stud.ru/
Dubovitsky

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

Re: Другой вариант выползающей менюшки

Сообщение Dubovitsky »

Невидимость я уже пробовал - не обрабатывается в Event'ах. А сделать таб прозрачным и сверху бросить png с градиентом прозрачности - работает на ура :super:
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Другой вариант выползающей менюшки

Сообщение Sergey Ivanov »

Dubovitsky писал(а):А сделать таб прозрачным и сверху бросить png с градиентом прозрачности - работает на ура :super:
а как его прозрачным можно сделать ?
Добро пожаловать на http://rk-stud.ru/
Dubovitsky

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

Re: Другой вариант выползающей менюшки

Сообщение Dubovitsky »

На панели инструментов (которая View->Tools Palette) выбрать Set Color, и для обоих цветов (фона и рамки) выбрать прозрачный (буква Т справа вверху панели выбора цветоы) и залить контрол.
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1217
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Версия LabVIEW: 2018
Откуда: Санкт-Петербург, Кронштадт
Благодарил (а): 11 раз
Поблагодарили: 1 раз
Контактная информация:

Re: Другой вариант выползающей менюшки

Сообщение Sergey Ivanov »

а, так я знаю ) а программно никак ?
Добро пожаловать на http://rk-stud.ru/
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Другой вариант выползающей менюшки

Сообщение Eugen Graf »

Sergey Ivanov писал(а):а, так я знаю ) а программно никак ?
Я делал прозрачность программно:
http://labviewportal.org/download/file. ... &mode=view
Dubovitsky

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

Re: Другой вариант выползающей менюшки

Сообщение Dubovitsky »

Eugen Graf писал(а):
Sergey Ivanov писал(а):а, так я знаю ) а программно никак ?
Я делал прозрачность программно:
http://labviewportal.org/download/file. ... &mode=view
Это для всей FP, для одного контрола же - через Property Node->Colors
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Другой вариант выползающей менюшки

Сообщение Oleg B. »

Sergey Ivanov писал(а):а, так я знаю ) а программно никак ?
"прозрачный" цвет - 0x01XXXXXX
veni, vidi, phallomorphi
Dubovitsky

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

Re: Другой вариант выползающей менюшки

Сообщение Dubovitsky »

Добавил в первом посте демку с эффектами прозрачности.
Andry
user
user
Сообщения: 96
Зарегистрирован: 14 июн 2013, 12:50
Версия LabVIEW: 2012
Контактная информация:

Re: Другой вариант выползающей менюшки

Сообщение Andry »

Dubovitsky писал(а):Почитал вот эту тему:http://labviewportal.eu/viewtopic.php?f=35&t=5261 и решил сделать свой вариант. Давно собирался, да всё руки не доходили.

Основные отличия: Как мне кажется, меньшая требовательность к ресурсам, возможность без проблем добавить несколько выползающих меню, простота использования и лёгкий доступ к элементам меню (все находятся в одной VI).
В выползающее меню можно превратить любой Control, удобнее всего - Tab.

На вход подаются:
  • Pane - указатель на Pane, где находится меню;
    Control in - указатель на Control, который является меню, преобразованный к Generic Control;
    PinButton - указатель на Boolean, преобразованный к Generic Boolean, служащий для закрепления (Pin) меню в развёрнутом состоянии (его можно оставить пустым, если эта функция не нужна);
    Parameters - настройки меню
Настройки:
  • Top(Relative) - позиция меню относительно верхнего края панели;
    VisiblePart - ширина выступающей части меню, когда оно скрыто;
    Step - шаг перемещения меню при открытии/закрытии за 50 мс;
    PinByDblClk? - разрешить закрепление (Pin) меню двойным кликом по нему;
    IdleTimeout - Таймаут для Event Structure при простое
Если включена настройка PinByDblClk?, то закрепить меню можно двойным кликом на нём.
Универсальную менюшку (чтобы настраиваемо выползала со всех сторон) делать откровенно лень, ведь эту переделать довольно просто, но, возможно, руки и до этого дойдут.
Единственное, нужно следить, чтобы контролы меню были самыми верхними на лицевой панели.

Добавид лемонстрацию с эффектами прозрачности.
Доброго времени суток!Все понравилось,очень здорово.Но есть один момент,как остановить процесс,как только не пробовал,подвисает.Может подскажете?Большое спасибо,заранее.
bee
junior
junior
Сообщения: 51
Зарегистрирован: 12 июн 2013, 09:04
Версия LabVIEW: 2014
Контактная информация:

Re: Другой вариант выползающей менюшки

Сообщение bee »

Попробуйте элементы Application Control.
Я реализовал завершение программы, использующей данные менюшки, с помощью QuitLabView.
Ответить

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