Seite 1 von 1
Fenster in Systray
Verfasst: 15.03.2006 16:44
von winduff
Hallo
WEnn mein Programm minimiert wird, will ich dass es ein Ico in der Systray gezeigt wird, und das Programm selber versteckt.
Habe es anhand eines Beispiels so gelöst:
Code: Alles auswählen
If IsIconic_(WindowID(#mainwin)) = #True And Minimized = #False
Minimized = #True
HideWindow(#mainwin,#True)
AddSysTrayIcon(#SysIcon,WindowID(#mainwin),Icon)
SysTrayIconToolTip(#SysIcon,"Anti-Ripper")
ElseIf IsIconic_(WindowID(#mainwin)) = #False And Minimized = #True
Minimized = #False
RemoveSysTrayIcon(#SysIcon)
EndIf
Das Programm versteckt sich, aber es erscheint kein Ico in der Systray... bräuchte demnach bitte hilfe
Danke
Chris

Verfasst: 15.03.2006 17:07
von ts-soft
Bitte testbaren Code posten! Also einen Code, den ich in meine IDE kopieren
kann und wo dann der Fehler Auftritt. Für Icons usw. brauchen nicht
unbedingt mitgeliefert werden, aber der Dateityp ist wichtig.
Ist das so schwer?
PS: Wenn ich den fehlenden Code drumrum bastel, wird es wahrscheinlich
funktionieren, das bringt also nichts

Verfasst: 15.03.2006 17:17
von winduff
ne net soooo schwer
Code: Alles auswählen
Enumeration
#fenster
#SysIcon
EndEnumeration
Procedure Open_mainwin()
If OpenWindow(#fenster, 407, 243, 445, 255, "Systray test" ,#PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_MinimizeGadget |#PB_Window_ScreenCentered )
ButtonGadget(0,5,5,50,50,"test",0)
EndIf
EndProcedure
Open_mainwin()
Icon.l = ExtractIcon_(WindowID(#mainwin),"Anti-Ripper",0)
Repeat
Event = WaitWindowEvent()
If IsIconic_(WindowID(#fenster)) = #True And Minimized = #False
Minimized = #True
HideWindow(#fenster,#True)
AddSysTrayIcon(#SysIcon,WindowID(#fenster),Icon)
SysTrayIconToolTip(#SysIcon,"Anti-Ripper")
ElseIf IsIconic_(WindowID(#fenster)) = #False And Minimized = #True
Minimized = #False
RemoveSysTrayIcon(#SysIcon)
EndIf
Until Event = #PB_Event_CloseWindow
End
Hoffe das war mal gut ^^
Verfasst: 15.03.2006 17:32
von ts-soft
1. CreateGadgetList() fehlt
2. Das mit ExtracIcon mußte erklären, dieses Fenster ist im Source nicht vorhanden, mit : Icon.l = LoadIcon_(#Null, #IDI_ASTERISK) gehts
3. Deine Ereignisschleife ist noch murks
Verfasst: 15.03.2006 17:43
von winduff
ja öhm, war schnell neu gemacht und den code für die systray reinkopiert...
Sorry
Habe jetzt Icon.l = LoadIcon_(#Null,#IDI-ASTERISK)
Creategadgetlist() war schon drin (nur in dem beispiel hier nicht) genauso wie ereignisschleife...
geht jedoch immer noch nicht
ICh hoffe ich belästige euch nicht mit blöden fragen, bin nunmal ein anfänger...
Lg
Chris
Verfasst: 15.03.2006 17:47
von ts-soft
Such mal in der Hilfe nach If, informiere Dich, wie und wozu man es einsetzen kann, z.B. überprüfen ob Icon.l nicht 0 ist?
Wegen der Eventloop sollteste nochmal im CodeArchiv und der Hilfe nachsehen.
Verfasst: 15.03.2006 19:28
von winduff
mhm Icon.l ist = 16116 (ungefähr)
Habe keine ahnung was das heisst
Ähm ja werde mich mal an hand eines Beispiels weiterversuchen
//edit: Fehler behoben, Image0 war nicht angegeben *ichidiot*
- close -
Danke nochmals an alle!
lg
chris