Как переместить центр в ноль

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

Как переместить центр в ноль

Postby Sergey Ivanov on 02 Sep 2013, 19:42

Всм привет !
Подскажите, как переместить ноль панели в левый верхний угол окна программы ?
Attachments
ноль.JPG
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1192
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Как переместить центр в ноль

Postby dadreamer on 02 Sep 2013, 19:44

User avatar
dadreamer
professor
professor
 
Posts: 3042
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Как переместить центр в ноль

Postby Sergey Ivanov on 02 Sep 2013, 19:56

О, почти оно. немного переделал.
Спасибо большое за подсказку !
Attachments
Снимок.JPG
Untitled 5.vi
(6.67 KiB) Downloaded 103 times
Добро пожаловать на http://rk-stud.ru/
User avatar
Sergey Ivanov
expert
expert
 
Posts: 1192
Joined: 01 Mar 2009, 20:54
Location: Санкт-Петербург, Кронштадт
Medals: 5
Activity (1) Professionalism (1) Gold (2) Автор (1)
LabVIEW Version: 2013
Karma: 117
hardware VIP

Re: Как переместить центр в ноль

Postby Helga on 19 Dec 2013, 10:52

Последнюю программу делала не с закладками, а с перемещением панели, как в Excel. И честно говоря, нет понимания, что есть лицевая панель в LabVIEW, в плане, где начало и где конец. Хочется то, чтобы все было просто. Здесь (0,0) и во веки веков. А этот Oregin вечно меняется. Я чтобы панель выровнять, задаю координаты, а они после каких-то действий могут поменяться. В принципе, если я сделала скалируемую панель, то может это и удобно. Но хочется понимать, что происходит.
Helga
user
user
 
Posts: 89
Joined: 14 Mar 2010, 10:14
LabVIEW Version: 9
Karma: 14

Re: Как переместить центр в ноль

Postby dadreamer on 19 Dec 2013, 17:43

Helga, Origin - это центр фронтальной панели, около которого желательно выстраивать все индикаторы и контролы. Сама панель, также как и блочная диаграмма, ограничена в размерах, от Origin'а можно отдалиться максимум на 32767 пикселей в положительном направлении и на -32768 пикселей - в отрицательном (отсчет высоты - сверху вниз, ширины - слева направо от Origin'а, имеющего координаты (0,0)). Если залезть контролом или индикатором на границу панели, то :labview: начнет нещадно глючить и искажать изображение. Эта багофича работает даже в :labview: 2013 :wink: Подтверждение моих слов в этой заметке.
User avatar
dadreamer
professor
professor
 
Posts: 3042
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Как переместить центр в ноль

Postby Helga on 20 Dec 2013, 12:24

Вопрос простой - могу ли я определенной точке сама присвоить Origin(0,0)? Мне понравилось строить интерфейс на разных участках панели, а потом перескакивать с помощью Origin. У меня простой интерфейс. Но сейчас я это свойство использую относительно. Читаю, плюс/минус расстояние между элементами, записываю. А вдруг за пределы выйду.
Helga
user
user
 
Posts: 89
Joined: 14 Mar 2010, 10:14
LabVIEW Version: 9
Karma: 14

Re: Как переместить центр в ноль

Postby Helga on 20 Dec 2013, 12:36

Еще сразу вопрос. Был проект и требование, интерфейс должен быть скалируемым для экранов от ноутбука до 70х70 см. Даже не знаю какое там разрешение экрана. Хотя 2-3 тысячи рядом с 32767 мелочь. А что с Origin'м происходит, когда экран меняется с 400x400 до 4000x4000 и обратно. Что-то я закономерности не уловила. Куда-то скаканул.
Helga
user
user
 
Posts: 89
Joined: 14 Mar 2010, 10:14
LabVIEW Version: 9
Karma: 14

Re: Как переместить центр в ноль

Postby Artem.spb on 20 Dec 2013, 13:52

а зачем всё усложнять? :)

Helga wrote: Хочется то, чтобы все было просто. Здесь (0,0) и во веки веков. .

00 там во веки веков, на нём даже жирная точка нарисована

Helga wrote:Еще сразу вопрос. Был проект и требование, интерфейс должен быть скалируемым для экранов от ноутбука до 70х70 см. Даже не знаю какое там разрешение экрана. Хотя 2-3 тысячи рядом с 32767 мелочь. А что с Origin'м происходит, когда экран меняется с 400x400 до 4000x4000 и обратно. Что-то я закономерности не уловила. Куда-то скаканул.

поставьте Tab-ы, которые будут сами скалироваться при изменении размера экрана, тогда скакать по разным "экранам" будет в разы проще. это если нужно, чтоб все элементы увеличивались пропорционально. но есть варианты, когда нужно растягивать только часть экрана, а часть элементов оставлять без изменения (например, строка состояния одного размера всегда, а центральная часть растягивается), в этом случае помогают сплиттеры (splitter).
но в любом случае с моей точки зрения скакать по разным участкам панели - это что-то более чем странное.
Artem.spb
expert
expert
 
Posts: 1294
Joined: 31 Jul 2011, 23:05
Medals: 2
Activity (1) Автор (1)
LabVIEW Version: 12,14,15
Karma: 224
CLD hardware I/O VIP freelance

Re: Как переместить центр в ноль

Postby dadreamer on 20 Dec 2013, 15:36

Helga wrote:Мне понравилось строить интерфейс на разных участках панели, а потом перескакивать с помощью Origin.

Как уже было сказано, проще и удобнее использовать разные вкладки и сплиттеры, а также отдельные :vi: , которые можно вызвать на экран в виде отдельных окон. Строить все элементы на одной панели, мягко говоря, излишество. Также для разных разрешений экрана и разных машин поиграйтесь с опциями :vi: , в частности: опции Position = Centered (категория Window Run-Time Position) и Maintain proportions of window for different monitor resolutions (категория Window Size). Имеет смысл выстроить элементы управления для самого минимального разрешения, которое будет поддерживаться программой. На мониторах с более высоким разрешением ваша программа уместится точно, при желании можно программно скорректировать размеры и положение контролов/индикаторов.
User avatar
dadreamer
professor
professor
 
Posts: 3042
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Как переместить центр в ноль

Postby Helga on 20 Dec 2013, 17:09

Ну если я сдаю 10 проектов в год, то хочется и с таб'ами и со сплиттарами и с перескакиванием по панели. А как еще что-то новое освоить?
Экраны еще не только разрешение разное имеют, но и форму, то квадратные, то прямоугольные. И заранее размер не известен.

Чтобы элементы программно выравнивать, их должно быть как можно меньше. Проблема потом новые добавить. До программного выравнивания я еще не дошла. А мои 4 графика скалируются не идеально. Почему-то один меньше, другой больше, при одинаковых начальных размерах.

vi: , которые можно вызвать на экран в виде отдельных окон
а это как?
Helga
user
user
 
Posts: 89
Joined: 14 Mar 2010, 10:14
LabVIEW Version: 9
Karma: 14

Re: Как переместить центр в ноль

Postby dadreamer on 20 Dec 2013, 17:19

User avatar
dadreamer
professor
professor
 
Posts: 3042
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Как переместить центр в ноль

Postby Helga on 21 Dec 2013, 11:27

Это все я уже тоже делала. Здесь и читала. У меня одна программа разраслась неимоверно и я разные измерения открывала в своих панелях(диалоговые). Делала их без рамки и совмещала с основной панелью в нужном месте. Не очень мне все это понравилось. Основное окно переместишь и все нарушается. У меня оба были активны, но маленькое всегда впереди.
Если бы можно было VI открывать в боксе основного окна, было бы лучше. Как frame в HTML.
Helga
user
user
 
Posts: 89
Joined: 14 Mar 2010, 10:14
LabVIEW Version: 9
Karma: 14

Re: Как переместить центр в ноль

Postby dadreamer on 21 Dec 2013, 12:37

Helga wrote:Если бы можно было VI открывать в боксе основного окна, было бы лучше. Как frame в HTML.

Ну, это проще простого. Посмотрите тему http://forums.ni.com/t5/LabVIEW/how-dis ... d-p/528430 , там есть пример полезный Display SubVI in Main VI's Tab Control.vi. Можно даже окно не'LabVIEW программы вставить на панель: viewtopic.php?p=50549#p50549
User avatar
dadreamer
professor
professor
 
Posts: 3042
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Как переместить центр в ноль

Postby Helga on 22 Dec 2013, 00:01

Супер! Спасибо! :clap: Век живи, век учись.
После праздников попробую.
Helga
user
user
 
Posts: 89
Joined: 14 Mar 2010, 10:14
LabVIEW Version: 9
Karma: 14

Re: Как переместить центр в ноль

Postby Helga on 22 Dec 2013, 09:28

Еще хочется получить парочку идей, как улучшить картинку при произвольном изменении размера окна. Программно не очень хочется, все-таки программы технические и должны заниматься измерениями. Для очень простого интерфейса - 4 графика. Как сделать так, чтобы они менялись одинаково и в нужном направлении.
Я применяю сплиттеры для разделения экрана и группирую элементы, чтобы они не разъезжались как попало. Что еще?
Helga
user
user
 
Posts: 89
Joined: 14 Mar 2010, 10:14
LabVIEW Version: 9
Karma: 14


Return to Лицевая панель

Who is online

Users browsing this forum: No registered users and 1 guest

cron