Hallo,
bei manchen Anwendungen gibt es in der Titelleiste neben den drei Standardsymbolen eine Taste (mit Punktsymbol) mit der ein Minimieren in den SysTray möglich ist.
Kann mir bitte jemand einen Tipp geben, wie ich das hinkriege.
Vielen Dank.
Minimieren in SysTray über Taste in der Titelleiste
Ist zwar nicht ganz das was du suchst aber eine Lösung
Damit kannst du dir eigene Schaltflächen erstellen:
http://www.purebasic.fr/german/viewtopi ... 40&start=3
Da kannst du dir nen Punkt machen und wenn du draufklickst, wird einfach das Fenster geschlossen. Im Systray kannste ja dann ein Menü machen, mit Menuitem "Öffnen", und das Fenster geht wieder auf
Damit kannst du dir eigene Schaltflächen erstellen:
http://www.purebasic.fr/german/viewtopi ... 40&start=3
Da kannst du dir nen Punkt machen und wenn du draufklickst, wird einfach das Fenster geschlossen. Im Systray kannste ja dann ein Menü machen, mit Menuitem "Öffnen", und das Fenster geht wieder auf
Win11 x64 | PB 6.20
-
- Beiträge: 237
- Registriert: 17.10.2008 18:24
- Kontaktdaten:
Ich wuesste einen Weg, wie du das Programm in das Systray 'minimierst' - allerdings weiss ich nicht wie man diesen "punkt" oben rechts am fenster erscheinen laesst. Falls du wissen willst, wie du dein Programm in den Systray minimieren laesst, habe ich eine Loesung fuer dich - allerdings ueber einen ButtonGadget() anstelle des "Punktes":
In der Mainloop ueberpruefst du einfach per #PB_Event_Gadget ob der Button gedrueckt wurde... wenn ja, fuegst du der systray mittels AddSysTrayIcon() nen Icon hinzu. Anschliessend schliesst ("versteckst") das Fenster, solange, bis auf das Icon in der Systray geklickt wurde...
Ich habe hierzu einen Code gebastelt, der auch funktioniert!
Zusaetzliches kannst du ja nach Bedarf aendern... (z.B. wenn du willst, dass das Icon IMMER angezeigtg wird, einfach die Funktion RemoveSysTrayIcon() entfernen und die Funktion AddSysTrayIcon() vor Beginn der Mainloop setzen)...
Ich hoffe ich konnte helfen...
In der Mainloop ueberpruefst du einfach per #PB_Event_Gadget ob der Button gedrueckt wurde... wenn ja, fuegst du der systray mittels AddSysTrayIcon() nen Icon hinzu. Anschliessend schliesst ("versteckst") das Fenster, solange, bis auf das Icon in der Systray geklickt wurde...
Ich habe hierzu einen Code gebastelt, der auch funktioniert!
Code: Alles auswählen
OpenWindow(0, 0, 0, 200, 200, "Systray-Minimierung", #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget | #PB_Window_SystemMenu)
CreateGadgetList(WindowID(0))
ButtonGadget(0, 80, 80, 40, 20, "Min!") ;Button
LoadImage(0, "icon.ico") ;irgendein Icon
Repeat
EventID = WindowEvent()
If EventID = #PB_Event_Gadget
If EventGadget() = 0 ;wenn der Button gedrueckt wurde...
AddSysTrayIcon(0, WindowID(0), ImageID(0)) ;...erstelle ein Icon...
HideWindow(0, 1) ;...und verstecke das Fenster
EndIf
ElseIf EventID = #PB_Event_SysTray ;wenn auf das Icon geklickt wurde...
RemoveSysTrayIcon(0) ;...entferne das Icon...
HideWindow(0, 0) ;und zeige das fenster!
EndIf
Delay(1)
Until EventID = #PB_Event_CloseWindow
Ich hoffe ich konnte helfen...
-
- Beiträge: 237
- Registriert: 17.10.2008 18:24
- Kontaktdaten: