Кнопки закрыть, развернуть, свернуть
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Кнопки закрыть, развернуть, свернуть
Как можно перехватить нажатия кнопок закрыть, развернуть, свернуть стандартного виндовского окна в котором работает программа. Т.е. я хочу чтобы ВМЕСТО стандартной функции при нажатии одной из этих кнопок в программе выполнялось что-то моё. Конечно есть вариант полностью убрать шапку окна в VI Properties, и нарисовать своё, и поместить свои кнопки внешне похожие, которые будут контролами в моей программе... Но жутко не хочится всё рисовать самому, стандартный виндовский вид меня устраивает, и не охото возиться с реализацией перетаскивания окна при хватании за заголовок, хотя способы конечно есть и не очень и сложные...
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Кнопки закрыть, развернуть, свернуть.
Для начала как можно зафиксировать их нажатие?
Опыта работы с Event структурой почти нет...
И что за Discard?
Опыта работы с Event структурой почти нет...
И что за Discard?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
Konstantin Sumenko
- expert
- Сообщения: 1439
- Зарегистрирован: 17 июл 2008, 12:20
- Награды: 2
- Версия LabVIEW: 2010
- Откуда: Moscow
- Поблагодарили: 1 раз
- Контактная информация:
Re: Кнопки закрыть, развернуть, свернуть.
Discard это отмена действия, которое выполнится по дефолту (например, при нажатии креста- выход из программы).
-
FireFly
- expert
- Сообщения: 1321
- Зарегистрирован: 25 апр 2009, 08:58
- Награды: 2
- Версия LabVIEW: 2014
- Откуда: Санкт-Петербург
- Поблагодарили: 1 раз
Re: Кнопки закрыть, развернуть, свернуть.
Вот так вроде можно перехватить закрытие...
Свернуть и развернуть найти не могу...
Свернуть и развернуть найти не могу...
- Вложения
-
- S1.PNG (7.6 КБ) 7248 просмотров
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
-
- assistant
- Сообщения: 104
- Зарегистрирован: 15 авг 2008, 11:55
- Версия LabVIEW: 8.5
- Откуда: Россия, Московская область
- Контактная информация:
Re: Кнопки закрыть, развернуть, свернуть.
А таким способом можно крестом окна просто закрыть прибор вместо использования кнопок?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
-
- assistant
- Сообщения: 104
- Зарегистрирован: 15 авг 2008, 11:55
- Версия LabVIEW: 8.5
- Откуда: Россия, Московская область
- Контактная информация:
Re: Кнопки закрыть, развернуть, свернуть.
в рантайме прибора, чтобы по нажатию креста закрылись циклы и т.п.? а не кнопкой stop или exit.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Кнопки закрыть, развернуть, свернуть.
Да, конечно. Так же ловим ивент и посылаем сообщение в виде User Event, Queue, Occurence, Notifier или даже через локальную или глобальную переменную во все рабочие циклы программы.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Кнопки закрыть, развернуть, свернуть.
Да, во первых то, что там имеется с динамическими ивентами лишнее. Во вторых ты например в этом ивенте можешь в индикатор "стоп" вписать значение TRUE, а в остальных циклах выходить по условию если локальная переменная "стоп" равна TRUE. Ну а сам индикатор можно спрятать, если он тебе мешает.
- Вложения
-
- StopWhile.png (6.58 КБ) 7210 просмотров
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Кнопки закрыть, развернуть, свернуть.
Или вот так с очередями:
- Вложения
-
- StopWhile.png (10.24 КБ) 7209 просмотров
-
- assistant
- Сообщения: 104
- Зарегистрирован: 15 авг 2008, 11:55
- Версия LabVIEW: 8.5
- Откуда: Россия, Московская область
- Контактная информация:
Re: Кнопки закрыть, развернуть, свернуть.
все работает. В этом примере если стоит True то окно не закрывается и прибор останавливается.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Кнопки закрыть, развернуть, свернуть.
Это из за того что на Discard подаётся TRUE, если сделать FALSE то и окно тоже будет закрываться. Окно можно так же закрыть и позже через FP.Close. Все возможности в имеются