Vielleicht hilft dir das ! Diese Version setzt voraus das alle Windows und Gadgets eine Nummer via Enumeration erhalten haben.
GetParent ermittelt die WindowID, zu dem ein Gadget gehört. Der Rest steht in der PB Hilfe.
Code: Alles auswählen
Enumeration
#win1: #win2
#but1: #but2: #but3: #but4
#txt1: #txt2: #txt3: #txt4
#txt5: #txt6: #txt7: #txt8
EndEnumeration
Procedure SetGadgetBackColor(window, gadgettyp, backcolor)
hwnd = WindowID(window)
For j = 0 To #PB_Compiler_EnumerationValue
If IsGadget(j)
If GetParent_(GadgetID(j)) = hwnd ;GetParent ermittelt Fenster
If GadgetType(j) = gadgettyp
SetGadgetColor(j, #PB_Gadget_BackColor, backcolor)
EndIf
EndIf
EndIf
Next
EndProcedure
flag = #PB_Window_SystemMenu
OpenWindow(#win1,10,200,400,200,"Fenster 1",flag)
ButtonGadget(#but1,5, 5,199,24,"Fenster 1 auf rot")
ButtonGadget(#but2,5,35,199,24,"Fenster 1 auf blau")
ButtonGadget(#but3,5,65,199,24,"Fenster 2 auf grau")
ButtonGadget(#but4,5,95,199,24,"Fenster 2 auf grün")
TextGadget(#txt1, 5,165,44,24,"Text")
TextGadget(#txt4, 55,165,44,24,"Murks")
TextGadget(#txt6,105,165,44,24,"Murks")
TextGadget(#txt7,155,165,44,24,"Murks")
flag = #PB_Window_SystemMenu
OpenWindow(#win2,450,200,400,200,"Fenster 2",flag)
TextGadget(#txt2,5,165,44,24,"Text")
TextGadget(#txt3,55,165,44,24,"Murks")
TextGadget(#txt5,105,165,44,24,"Murks")
TextGadget(#txt8,155,165,44,24,"Murks")
Repeat: event = WaitWindowEvent() : ;Debug event
If Event = #PB_Event_Gadget Or Event = #PB_Event_Menu
welcherButton = EventGadget()
Select welcherButton
Case #but1: SetGadgetBackColor(#win1,#PB_GadgetType_Text,#Red)
Case #but2: SetGadgetBackColor(#win1,#PB_GadgetType_Text,#Blue)
Case #but3: SetGadgetBackColor(#win2,#PB_GadgetType_Text,#Gray)
Case #but4: SetGadgetBackColor(#win2,#PB_GadgetType_Text,#Green)
EndSelect
EndIf
Until event = #PB_Event_CloseWindow
End