Ich habe den Code kopiert und mit Erfolg getestet.
Als ich es in mein Projekt eingebaut habe ging es nicht mehr.... Ich habe alles überprüft und kein Fehler gefunden...
Als ich einen Code Ausschnitt zum Testen vorbereitet habe um ihn hier zu testen ging es plötzlich mit der Hintergrundfarbe
das Einzige was ich an den Test Code geändert habe habe ich nur das Menü was ich für ein Systrayicon gedacht habe auf das Fenster gelegt.
hier ist der umgebaute Test Code wo es funktioniert.... Die anfragen, die ich im eigentlichen Quelltext genutzt habe habe ich auskommentiert und für den Test Geändert...
Code: Alles auswählen
Enumeration
#SettingWindow
#ServerList
#ListAdd
#ListEdit
#ListInfo
#ListRemov
#ListPrio
#ListZeit
#ListOff
#ListOn
#ListTimeout
#ListOK
#SystrayIcon
#SysPopup
EndEnumeration
#MIM_BACKGROUND=2
Structure MENUINFO
cbSize.l
fMask.l
dwStyle.l
cyMax.l
hbrBack.l
dwContextHelpID.l
dwMenuData.l
EndStructure
MI.MENUINFO\cbSize=SizeOf(MENUINFO)
hBrush=CreateSolidBrush_(RGB($CE,$DE,$F3))
MI\hbrBack=hBrush
MI\fMask=#MIM_BACKGROUND
Procedure.s Setting(String$)
;Dummy Procedure zum Testen
EndProcedure
If Val(Setting("SettingFentserX")) = 0 Or Val(Setting("SettingFentserY")) = 0
OpenWindow(#SettingWindow,0,0,500,450,"Init Server",#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
Else
OpenWindow(#SettingWindow,Val(Setting("SettingFensterX")),Val(Setting("SettingFensterY")),500,450,"Init Server",#PB_Window_MinimizeGadget)
EndIf
If CreateGadgetList(WindowID(#SettingWindow))
ListIconGadget(#ServerList,5,39,490,250,"Name",170,#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect)
AddGadgetColumn(#ServerList,1,"Adresse/IP",170)
AddGadgetColumn(#ServerList,2,"Port",50)
AddGadgetColumn(#ServerList,3,"Server",45)
AddGadgetColumn(#ServerList,4,"Status",50)
ButtonGadget(#ListAdd,5,5,100,24,"Hinzufügen")
ButtonGadget(#ListEdit,105,5,100,24,"Bearbeiten")
ButtonGadget(#ListInfo,205,5,100,24,"Information")
ButtonGadget(#ListRemov,395,5,100,24,"Löschen")
Frame3DGadget(#PB_Any,0,295,250,156,"Aktualisierungs Einstellung")
TextGadget(#PB_Any,5,310,235,52,"Je häufiger der Status der Eingetragenen Server überprüft wird, um so mehr wird der Processeor belastet. Also vorsichtig verwenden!")
TextGadget(#PB_Any,15,370,40,18,"Priorität:")
ComboBoxGadget(#ListPrio,57,369,110,20)
AddGadgetItem(#ListPrio,-1,"Höher als Normal")
AddGadgetItem(#ListPrio,-1,"Normal")
AddGadgetItem(#ListPrio,-1,"Nidrig")
AddGadgetItem(#ListPrio,-1,"Sehr Nidrig")
SetGadgetText(#ListPrio,Setting("Priorität"))
TextGadget(#PB_Any,15,393,60,18,"Zeitabstand:")
StringGadget(#ListZeit,77,392,30,20,Setting("Zeit"),#PB_String_Numeric)
TextGadget(#PB_Any,109,393,30,18,"Min")
Frame3DGadget(#PB_Any,248,295,240,70,"Benachrichtigung")
CheckBoxGadget(#ListOff,265,322,13,13,"")
TextGadget(#PB_Any,280,320,80,18,"Server Offline")
SetGadgetState(#ListOff,Val(Setting("OfflineMSG")))
CheckBoxGadget(#ListOn,265,342,13,13,"")
TextGadget(#PB_Any,280,340,80,18,"Server Online")
SetGadgetState(#ListOn,Val(Setting("OnlineMSG")))
TextGadget(#PB_Any,360,320,120,18,"Benarichtigung Timeout:")
StringGadget(#ListTimeout,360,340,30,20,Setting("Timeout"),#PB_String_Numeric)
TextGadget(#PB_Any,395,342,25,18,"Sec.")
TextGadget(#PB_Any,255,375,240,26,"Hinzugefügte oder Bearbeitete Server werden automatisch gespeichert.")
ButtonGadget(#ListOK,395,421,100,24,"Speichern",Image1)
; InfLesen()
; ListeAktualisieren()
AddSysTrayIcon(#SystrayIcon,WindowID(#SettingWindow),LoadImage(0,Icon$))
SysTrayIconToolTip(#SystrayIcon,"Init Server")
CreatePopupMenu(#SysPopup)
MenuItem(1,"Einstellung Ein-/Aus-Blenden")
MenuItem(2,"Alle Server Sofort Überprüfen")
MenuItem(3,"Info")
MenuItem(4,"Beenden")
Else
MessageRequester("Fehler","Es ist ein Fehleraufgetreten beim öffnen des Einstellungsfenster! Bitte Starten Sie die Anwendung Neu.")
End
EndIf
; ServerTest(0)
SetMenuInfo_(MenuID(#SysPopup),MI)
SetMenuInfo_(GetSubMenu_(MenuID(#SysPopup),5),MI)
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
Select WaitWindowEvent()
Case #PB_Event_Menu
Select EventMenu()
Case 1
If Hinde = 0
HideWindow(#SettingWindow,1)
Hinde = 1
ElseIf Hinde = 1
HideWindow(#SettingWindow,0)
Hinde = 0
EndIf
Case 2
Case 3
Case 4
End
EndSelect
Case #PB_Event_CloseWindow
Quit = 1
EndSelect
If Event = #PB_Event_Gadget
If GadgetID = #ListAdd
DisableWindow(#SettingWindow,1)
; AddServerWindow("","",0,"",0)
ElseIf GadgetID = #ListEdit
If GetGadgetState(#ServerList) <> -1
; EditServer(GetGadgetText(#ServerList))
Else
MessageRequester("Fehler","Bitte wählen Sie einen Server aus.")
EndIf
ElseIf GadgetID = #ListInfo
If GetGadgetState(#ServerList) <> -1
DisableWindow(#SettingWindow,1)
; ServerInfo(GetGadgetText(#ServerList))
Else
MessageRequester("Fehler","Bitte wählen Sie einen Server aus.")
EndIf
ElseIf GadgetID = #ListRemov
If GetGadgetState(#ServerList) <> -1
If MessageRequester("Frage","Möchten Sie wirklich den Server "+Chr(34)+GetGadgetText(#ServerList)+Chr(34)+" Löschen?",#PB_MessageRequester_YesNo) = #PB_MessageRequester_Yes
; DelServer(GetGadgetText(#ServerList))
EndIf
Else
MessageRequester("Fehler","Bitte wählen Sie einen Server aus.")
EndIf
ElseIf GadgetID = #ListOK
; SaveServer()
; SaveSetting()
EndIf
ElseIf GetAsyncKeyState_(#VK_RBUTTON) ;Event = #PB_Event_SysTray; And GetAsyncKeyState_(#VK_RBUTTON)
DisplayPopupMenu(#SysPopup, WindowID(#SettingWindow))
ElseIf Event = #PB_Event_CloseWindow
HideWindow(#SettingWindow,1)
Hinde = 1
EndIf
ForEver