Page 1 of 2

Дочернее окно в пределах родительского

PostPosted: 23 Oct 2018, 21:18
by Юрий
Если какие ни будь стандартные настройки для дочернего окна, что бы оно было всегда в пределах родительского? Или при выходе за него маскировалось родительским.

Re: Дочернее окно в пределах родительского

PostPosted: 23 Oct 2018, 21:41
by dadreamer
Я про такие настройки никогда не слышал, речь об ОС в целом, не только о :labview: ... Мне кажется, нужно "ручками" делать всё описанное (можно через WinAPI, можно через свойства/методы LV).

Долго вспоминал, где я видел подобное... В отладчике ollydbg нечто похожее есть - внутренние окошки никогда не перекрывают основное окно, хотя и могут выходить за его пределы, при этом внешняя часть окна невидима.

Re: Дочернее окно в пределах родительского

PostPosted: 23 Oct 2018, 21:50
by Cat
Вы можете использовать свойства окна Window behavior и допустим дочернее окно modal, а родительское default,сканируете координаты окна и если они выходят на пределы, то меняете свойства дочернего на default, а родительского на modal

Re: Дочернее окно в пределах родительского

PostPosted: 23 Oct 2018, 21:54
by Kosist
Попробуйте поиграться с этим тулкитом - http://sine.ni.com/nips/cds/view/p/lang/cs/nid/212114# - судя по скрину, с его помощью можно как раз делать то, что Вам нужно.

Re: Дочернее окно в пределах родительского

PostPosted: 23 Oct 2018, 21:59
by Юрий
Как сделать что бы дочернее (внутреннее) окно было в пределах родительского боле менее понятно. Но как сделать что бы оно обрезалось им пока мыслей нет. Вернее одна вертится - это менять размер окна, но как сделать, что бы часть обрамления условно отрезанной части было не видно, не понятно.

Re: Дочернее окно в пределах родительского

PostPosted: 23 Oct 2018, 22:20
by Юрий
Kosist, спасибо, буду разбираться.

Re: Дочернее окно в пределах родительского

PostPosted: 23 Oct 2018, 22:25
by dadreamer
Да, MDI тулкит решает поставленные задачи. Пример лежит по адресу C:\Program Files\National Instruments\LabVIEW 2018\vi.lib\LVST\MDI Toolkit\Example\Example.vi. Также вот тред на Лаве с похожей постановкой и аналогичным решением: https://lavag.org/topic/20441-research- ... -subpanel/

Re: Дочернее окно в пределах родительского

PostPosted: 24 Oct 2018, 07:17
by Aleksandr
Если есть желание разобраться в чужом и не самом лучшем коде, то можете посмотреть следующие ссылки:
https://lavag.org/topic/17046-multi-pan ... ent-104683
https://forums.ni.com/t5/LabVIEW/DynaPa ... d-p/991918
http://www.mooregoodideas.com/mgi-libra ... et-panels/
И если совсем есть желание заморочиться, то вот -- https://github.com/JKSH/LQWidgets :)

Re: Дочернее окно в пределах родительского

PostPosted: 24 Oct 2018, 19:53
by Юрий
Спасибо всем за полезную и актуальную информацию. Но пока не могу установить этот тулкит, выдаётся такое сообщение:
2018-10-24_195056.jpg

Я так понимаю, что надо что то настроить в LV server, а что?

Re: Дочернее окно в пределах родительского

PostPosted: 24 Oct 2018, 21:19
by taras_33
Номера портов посмотрите в LabVIEW и VIPM
Ports2.png


Должны быть одинаковые
Ports.png

Re: Дочернее окно в пределах родительского

PostPosted: 24 Oct 2018, 22:15
by Юрий
taras_33, Спасибо. Номера портов одинаковые, но подключения нет - стоит No. При нажатии кнопки verify LV закрывается и потом вновь открывается, после открытия появляется сообщение:
2018-10-24_215651.jpg

В чём может быть дело?

Re: Дочернее окно в пределах родительского

PostPosted: 24 Oct 2018, 22:42
by Юрий
Разобрался. В сообщении, показанном в предыдущем посте, нажал кнопку "Open Help" (file:///C:/Program%20Files/JKI/VI%20Package%20Manager/help/index.html?turl=appendixbhowtomanuallyconfigureyourlabviewversiontoallowvipmcommunication.htm ). Там показаны все настройки. Вручную ввёл Localhost и всё пошло как по маслу.
2018-10-24_223226.jpg

Re: Дочернее окно в пределах родительского

PostPosted: 24 Oct 2018, 22:47
by Kosist
Юрий wrote:Разобрался. В сообщении, показанном в предыдущем посте, нажал кнопку "Open Help" (file:///C:/Program%20Files/JKI/VI%20Package%20Manager/help/index.html?turl=appendixbhowtomanuallyconfigureyourlabviewversiontoallowvipmcommunication.htm ). Там показаны все настройки. Вручную ввёл Localhost и всё пошло как по маслу.

Верно! Ведь с самого начала в самой ошибке писалось "Machine Access" и "Exported VIs" - а порт обычно не бывает проблемой, т.к. он используется дефолтный; а вот сам доступ через TCP/IP иногда заблокирован...

Re: Дочернее окно в пределах родительского

PostPosted: 24 Oct 2018, 23:25
by dadreamer
Жаль, что этот тулкит не бесплатный, хотя сначала казалось, что платить надо только за коммерческое использование. При запуске :labview: выскакивает нижеприведённое окно. 12 GBP - это чуть больше 1к рублей, вроде не так уж много, если брать через контору. Для домашнего применения вряд ли имеет смысл покупать, тем более ради этих "оконных" плюшек.

Re: Дочернее окно в пределах родительского

PostPosted: 25 Oct 2018, 00:15
by Юрий
dadreamer wrote:Жаль, что этот тулкит не бесплатный, хотя сначала казалось, что платить надо только за коммерческое использование. При запуске :labview: выскакивает нижеприведённое окно. 12 GBP - это чуть больше 1к рублей, вроде не так уж много, если брать через контору. Для домашнего применения вряд ли имеет смысл покупать, тем более ради этих "оконных" плюшек.

Да, печально. А я уж губу раскатал.