Страница 1 из 1

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

Добавлено: 02 сен 2013, 19:42
Sergey Ivanov
Всм привет !
Подскажите, как переместить ноль панели в левый верхний угол окна программы ?

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

Добавлено: 02 сен 2013, 19:44
dadreamer

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

Добавлено: 02 сен 2013, 19:56
Sergey Ivanov
О, почти оно. немного переделал.
Спасибо большое за подсказку !

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

Добавлено: 19 дек 2013, 10:52
Helga
Последнюю программу делала не с закладками, а с перемещением панели, как в Excel. И честно говоря, нет понимания, что есть лицевая панель в LabVIEW, в плане, где начало и где конец. Хочется то, чтобы все было просто. Здесь (0,0) и во веки веков. А этот Oregin вечно меняется. Я чтобы панель выровнять, задаю координаты, а они после каких-то действий могут поменяться. В принципе, если я сделала скалируемую панель, то может это и удобно. Но хочется понимать, что происходит.

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

Добавлено: 19 дек 2013, 17:43
dadreamer
Helga, Origin - это центр фронтальной панели, около которого желательно выстраивать все индикаторы и контролы. Сама панель, также как и блочная диаграмма, ограничена в размерах, от Origin'а можно отдалиться максимум на 32767 пикселей в положительном направлении и на -32768 пикселей - в отрицательном (отсчет высоты - сверху вниз, ширины - слева направо от Origin'а, имеющего координаты (0,0)). Если залезть контролом или индикатором на границу панели, то :labview: начнет нещадно глючить и искажать изображение. Эта багофича работает даже в :labview: 2013 :wink: Подтверждение моих слов в этой заметке.

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

Добавлено: 20 дек 2013, 12:24
Helga
Вопрос простой - могу ли я определенной точке сама присвоить Origin(0,0)? Мне понравилось строить интерфейс на разных участках панели, а потом перескакивать с помощью Origin. У меня простой интерфейс. Но сейчас я это свойство использую относительно. Читаю, плюс/минус расстояние между элементами, записываю. А вдруг за пределы выйду.

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

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

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

Добавлено: 20 дек 2013, 13:52
Artem.spb
а зачем всё усложнять? :)
Helga писал(а): Хочется то, чтобы все было просто. Здесь (0,0) и во веки веков. .
00 там во веки веков, на нём даже жирная точка нарисована
Helga писал(а):Еще сразу вопрос. Был проект и требование, интерфейс должен быть скалируемым для экранов от ноутбука до 70х70 см. Даже не знаю какое там разрешение экрана. Хотя 2-3 тысячи рядом с 32767 мелочь. А что с Origin'м происходит, когда экран меняется с 400x400 до 4000x4000 и обратно. Что-то я закономерности не уловила. Куда-то скаканул.
поставьте Tab-ы, которые будут сами скалироваться при изменении размера экрана, тогда скакать по разным "экранам" будет в разы проще. это если нужно, чтоб все элементы увеличивались пропорционально. но есть варианты, когда нужно растягивать только часть экрана, а часть элементов оставлять без изменения (например, строка состояния одного размера всегда, а центральная часть растягивается), в этом случае помогают сплиттеры (splitter).
но в любом случае с моей точки зрения скакать по разным участкам панели - это что-то более чем странное.

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

Добавлено: 20 дек 2013, 15:36
dadreamer
Helga писал(а):Мне понравилось строить интерфейс на разных участках панели, а потом перескакивать с помощью Origin.
Как уже было сказано, проще и удобнее использовать разные вкладки и сплиттеры, а также отдельные :vi: , которые можно вызвать на экран в виде отдельных окон. Строить все элементы на одной панели, мягко говоря, излишество. Также для разных разрешений экрана и разных машин поиграйтесь с опциями :vi: , в частности: опции Position = Centered (категория Window Run-Time Position) и Maintain proportions of window for different monitor resolutions (категория Window Size). Имеет смысл выстроить элементы управления для самого минимального разрешения, которое будет поддерживаться программой. На мониторах с более высоким разрешением ваша программа уместится точно, при желании можно программно скорректировать размеры и положение контролов/индикаторов.

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

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

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

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

Добавлено: 20 дек 2013, 17:19
dadreamer

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

Добавлено: 21 дек 2013, 11:27
Helga
Это все я уже тоже делала. Здесь и читала. У меня одна программа разраслась неимоверно и я разные измерения открывала в своих панелях(диалоговые). Делала их без рамки и совмещала с основной панелью в нужном месте. Не очень мне все это понравилось. Основное окно переместишь и все нарушается. У меня оба были активны, но маленькое всегда впереди.
Если бы можно было VI открывать в боксе основного окна, было бы лучше. Как frame в HTML.

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

Добавлено: 21 дек 2013, 12:37
dadreamer
Helga писал(а):Если бы можно было VI открывать в боксе основного окна, было бы лучше. Как frame в HTML.
Ну, это проще простого. Посмотрите тему http://forums.ni.com/t5/LabVIEW/how-dis ... d-p/528430 , там есть пример полезный Display SubVI in Main VI's Tab Control.vi. Можно даже окно не'LabVIEW программы вставить на панель: http://www.labviewportal.org/viewtopic. ... 549#p50549

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

Добавлено: 22 дек 2013, 00:01
Helga
Супер! Спасибо! :clap: Век живи, век учись.
После праздников попробую.

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

Добавлено: 22 дек 2013, 09:28
Helga
Еще хочется получить парочку идей, как улучшить картинку при произвольном изменении размера окна. Программно не очень хочется, все-таки программы технические и должны заниматься измерениями. Для очень простого интерфейса - 4 графика. Как сделать так, чтобы они менялись одинаково и в нужном направлении.
Я применяю сплиттеры для разделения экрана и группирую элементы, чтобы они не разъезжались как попало. Что еще?