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