I'm looking for a way to open a window on a second monitor, I have found a solution even in the English forum but only for OSX have modifies the code and post the times here, perhaps someone knows how to do that under Windows or even better, as cross-platform solution
many Greetings
Code: Select all
mainWindow = OpenWindow(0,50,50,300,300,"Main Window",#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_SystemMenu)
ButtonGadget(1,10,10,250,50,"2nd Window ON/OFF")
ButtonGadget(2,10,60,250,50,"Send Message to 2nd Window")    
 If mainWindow   
    Repeat
      Event = WaitWindowEvent()
     
     Select Event
     
       Case #PB_Event_Gadget
         
         Select EventGadget()
          Case 1 
            If externalWindow = 1
              externalWindow = 0
              CloseWindow(AppWindow)
            Else
              ScreenArray = CocoaMessage(0, 0, "NSScreen screens")
              If CocoaMessage(0, ScreenArray, "count") < 2
                Debug "No second screen"
              Else
                externalWindow = 1
                CocoaMessage(@Frame.NSRect, CocoaMessage(0, ScreenArray, "objectAtIndex:", 1), "visibleFrame")
                AppWindow = OpenWindow(#PB_Any, 0, 0, 0, 0, "Second screen window", #PB_Window_BorderLess )
                TextGadget(21, 10, 10, 250, 50, "2nd Windows")              
                CocoaMessage(0, WindowID(AppWindow), "setFrame:@", @Frame, "display:", #YES)    
              EndIf  
            EndIf
          Case 2
              If externalWindow = 1
                SetGadgetText(21, "##### OK ####") ; sen a message to 2nd Monitor  
              EndIf
       EndSelect
       
     EndSelect
    Until Event = #PB_Event_CloseWindow
 EndIf




