Можно ли сформировать нестандартное меню
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Можно ли сформировать нестандартное меню
Всем привет
Можно ли сформировать меню в labview2009 такое как на картинке?
Можно ли сформировать меню в labview2009 такое как на картинке?
-
- VIP
- Сообщения: 1338
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
-
- VIP
- Сообщения: 1338
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: Можно ли сформировать меню
Применять Tree Control для организации меню - это всё равно, что заколачивать шурупы молотком вместо того, чтобы воспользоваться отвёрткой.kiparym писал(а):Для этих целей применяется «Tree Control» (см. примеры).
Впрочем, автор топика не написал, что ему важнее - имелось ли ввиду именно вложенное меню (его можно стандартными средствами сделать) - если имелось ввиду меню панели, то Edit->RunTime Menu... а если у контрола - то правая кнопка мыши, затем Advanced->Shortcut Menu->Edit..., либо, если имелось ввиду меню, разворачивающееся вверх, как показано на картинке, а не вниз, как это стандартное меню делает — в этом случае задачка заметно усложняется и без опыта на месте автора я б не стал с этим связываться, а воспользовался тем, что есть в LabVIEW.
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Можно ли сформировать меню
Задачу я чуток не так написал
Нужно чтобы например длина строки главного меню занимала не всю дину окна а часть некоторую часть
Или например чтобы главное меню расположить не горизонтально а вертикально слева или справа виртуального прибора.
Можно ли такое осушествить.
Если да как?
Нужно чтобы например длина строки главного меню занимала не всю дину окна а часть некоторую часть
Или например чтобы главное меню расположить не горизонтально а вертикально слева или справа виртуального прибора.
Можно ли такое осушествить.
Если да как?
-
- VIP
- Сообщения: 1338
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: Можно ли сформировать меню
Понятно. Осуществить можно, но не очень просто. Перенести стандартное меню в вертикальную позицию, как это уже понятно, невозможно. Можно в качестве первого уровня сложить просто колонку кнопок. Декорации надо поправить так, чтобы они визуально от меню не отличались. Затем два варианта - либо воспользоваться встроенными контекстными меню у каждой кнопки (в event структуре можно перебросить правую кнопку на левую, так что эти меню будут открываться по щелчку левой кнопкой) - так будет легче создавать эти меню динамически (если надо) и обрабатывать от них события, либо другой вариант - динамически вызывать SubVI, у которого заголовок и бордюр выключены, а на панели массив элементов - будет иллюзия того, что это меню (будет сложнее обрабатывать сообщения от кликов по элементам, кроме того придётся позаботиться о том, чтобы эти панели прятались, когда мышка нажимается за их пределами, но зато и свободы больше - можно, к примеру, сделать меню с иконками). Ещё можно поискать готовое решение, скажем на основе .net, но мне такое не попадалось. Такое вообще мало кто делает - ведь часть пользователей будет впадать в ступор от такого расположения меню. Характер вопроса говорит о том, что опыта у Вас пока не очень много, так что остановитесь на стандартном меню.
-
Pavel Krivozubov
- professor
- Сообщения: 4421
- Зарегистрирован: 07 фев 2008, 16:39
- Награды: 3
- Версия LabVIEW: 7.0 - 2013
- Откуда: г. Электросталь
- Благодарил (а): 24 раза
- Поблагодарили: 9 раз
- Контактная информация:
Re: Можно ли сформировать меню
Вообще кстати говоря выложенная тобой структура очень напоминает TabControl)JohnChaban писал(а):Задачу я чуток не так написал
Нужно чтобы например длина строки главного меню занимала не всю дину окна а часть некоторую часть
Или например чтобы главное меню расположить не горизонтально а вертикально слева или справа виртуального прибора.
Можно ли такое осушествить.
Если да как?
Правила форума
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
Developlabs - IT услуги - ждём Ваших заказов на написание программ
Новостной канал о LabVIEW и технологиях NI на Facebook
-
- VIP
- Сообщения: 1338
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: Можно ли сформировать меню
Да, Павел прав - Tab контрол тоже можно использовать, но в этом случае допилить его до полного сходства с меню не удастся - придётся чуть изменить концепцию.
Вот, кстати, меню, в стиле "Ribbon", выполненное на Tab контроле:
https://decibel.ni.com/content/groups/u ... in-labview
Вот, кстати, меню, в стиле "Ribbon", выполненное на Tab контроле:
https://decibel.ni.com/content/groups/u ... in-labview
- JohnChaban
- leader
- Сообщения: 669
- Зарегистрирован: 18 фев 2010, 13:26
- Версия LabVIEW: 2015,2016
- Откуда: Город Сосновый Бор Ленинградская Область
- Контактная информация:
Re: Можно ли сформировать меню
Дело все в том что как стандартное меню сделать я знаю
Я просто думал есть какие нибудь примочки.
Насчет опыта с LaBVIEW работаю более 5 лет.
Просто заказчик ставит нетривиальные задачи вот и прошу помощи у коллег на форуме.
Спасибо за ответы и советы.
Я просто думал есть какие нибудь примочки.
Насчет опыта с LaBVIEW работаю более 5 лет.
Просто заказчик ставит нетривиальные задачи вот и прошу помощи у коллег на форуме.
Спасибо за ответы и советы.
-
- VIP
- Сообщения: 1338
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: Можно ли сформировать меню
Ну если более пяти лет, то можно и взяться, конечно.
Но реализация зависит от того, насколько похоже должно быть меню похоже на настоящее меню - по поведению и дизайну. Чем меньше оно будет похоже на настоящее меню, тем будет проще. А если "один в один" с тем меню, что сверху, но по вертикали, то придётся повозиться. Я бы начал с кнопок с собственными меню. Всплывающие панели тоже можно использовать, но там мне видится проблема с их закрытием: при щелчке по основному меню всплывает панелька, если мышка уходит за пределы панели дочернего меню, она должна оставаться на экране, но должна закрыться, если пользователь щёлкнет вне области меню (а это может быть и за пределами основного окна приложения - ну, на десктопе, к примеру. Ну и начнётся процесс перехвата щелчков мыши за пределами окна, работа с событиями входа мыши в область панели и выхода из неё... Возможность добавления пунктов вменю тоже надо будет предусмотреть. Ну потом ещё горячие клавиши, навигация без мыши, обработка клавиши Alt, первых (подчёркнутых) букв меню, выключение отдельных пунктов, и т.д. В общем так себе удовольствие.
Но реализация зависит от того, насколько похоже должно быть меню похоже на настоящее меню - по поведению и дизайну. Чем меньше оно будет похоже на настоящее меню, тем будет проще. А если "один в один" с тем меню, что сверху, но по вертикали, то придётся повозиться. Я бы начал с кнопок с собственными меню. Всплывающие панели тоже можно использовать, но там мне видится проблема с их закрытием: при щелчке по основному меню всплывает панелька, если мышка уходит за пределы панели дочернего меню, она должна оставаться на экране, но должна закрыться, если пользователь щёлкнет вне области меню (а это может быть и за пределами основного окна приложения - ну, на десктопе, к примеру. Ну и начнётся процесс перехвата щелчков мыши за пределами окна, работа с событиями входа мыши в область панели и выхода из неё... Возможность добавления пунктов вменю тоже надо будет предусмотреть. Ну потом ещё горячие клавиши, навигация без мыши, обработка клавиши Alt, первых (подчёркнутых) букв меню, выключение отдельных пунктов, и т.д. В общем так себе удовольствие.
Re: Можно ли сформировать меню
На мой взгляд, строка меню на то и строка, чтоб занимать всю длину программы, даже если там все одна опция "Close".JohnChaban писал
Нужно чтобы например длина строки главного меню занимала не всю дину окна а часть некоторую часть
Или например чтобы главное меню расположить не горизонтально а вертикально
У меня был некоторый опыт работы с меню. Начинал я с Edit->RunTime Menu..., но потом перешел на программную компоновку меню. При этом при исполнении самой программы можно добавлять пункты в меню, их делать "активный/неактивный", "видимый/невидимый" и т.д. Этот вариант создания меню мне кажется гибким, удобными наиболее простым.
А по поводу вертикального меню - попотеть придется. AndreyDmitriev уже описал прелести этого.
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Можно ли сформировать меню
Vasa, замечательная ссылка!
А может на оф. сайте есть пример, где показано как в меню картинки вставить?
А может на оф. сайте есть пример, где показано как в меню картинки вставить?
-
Vasiliy Baev
- leader
- Сообщения: 545
- Зарегистрирован: 31 окт 2011, 09:02
- Награды: 4
- Версия LabVIEW: 2019
- Откуда: Санкт-Петербург
- Благодарил (а): 9 раз
- Поблагодарили: 10 раз
- Контактная информация:
Re: Можно ли сформировать меню
Aleksey Feoktistov, мне пример найти не удалось.
Посмотрите ещё вот такой вариант:
https://decibel.ni.com/content/groups/u ... abview-net
Посмотрите ещё вот такой вариант:
https://decibel.ni.com/content/groups/u ... abview-net
-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация: