Минимизированное окно...
Это своего рода шаблон.
Иногда для мелких оконных утилит можно применить минимизированный стиль.
Это актуально, когда ширина окна сопоставима с шириной заголовка и при стандартном варианте часть заголовка теряется.
В данном варианте, заголовок окна не будет отображаться на панели инструментов и нет кнопки свернуть.
Всё управление осуществляется по клику на значке в трее.
Кнопка
Закрыть на окне - скрывает окно.
Левый клик по значку в трее - показать окно.
Правый клик по значку в трее - показать всплывающее меню.
Code
Enumeration
#Window_0
#tray
#icon
EndEnumeration
;*******************************
OpenWindow (#Window_0, 0, 0, 200, 300, "Окно", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered |#PB_Window_Invisible)
;*******************************
SetWindowLongPtr_(WindowID(#Window_0),#GWL_EXSTYLE, #WS_EX_TOOLWINDOW) ; меняем внешний вид окна
;*******************************
AddSysTrayIcon(#tray, WindowID(#Window_0),ExtractIcon_(0,"netshell.dll",8)) ; Добавляет значок в Systray из библиокеки
;AddSysTrayIcon(#tray,WindowID(#Window_0),CatchImage(#icon,?icon1)); Добавляем свой значок в Systray
;*******************************
CreatePopupMenu(0) ; Контекстное меню для трея
MenuItem(1,"Инфо.")
MenuItem(2,"Настройки")
MenuBar()
MenuItem(3,"Выход")
;*******************************
HideWindow(#Window_0,0)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
;код
Case 2
;код
Case 3
;код
EndSelect
Case #PB_Event_SysTray
If EventType() = #PB_EventType_RightClick ; Обработка правый клик мышки
DisplayPopupMenu(0, WindowID(#Window_0)) ; показ вспывающего меню
EndIf
If EventType() = #PB_EventType_LeftClick ; Обработка левый клик мышки
HideWindow(#Window_0,0) ; показать окно
EndIf
Case #PB_Event_Menu
Select EventMenu()
Case 1
;код
Case 2
;код
Case 3
Break
EndSelect
EndSelect
If Event = #PB_Event_CloseWindow
HideWindow(#Window_0,1)
EndIf
ForEver
;DataSection ; если берём иконку не из системы
;icon1:IncludeBinary "icon.ico"
;EndDataSection
В стандартном варианте это выглядело так: