Private Sub B4XPage_Created (Root1 As B4XView)
Dim f As Form = B4XPages.GetNativeParent(Me)
f.SetFormStyle("UTILITY")
MoveToSecondMonitor(f)
SetMaximized(f)
Root = Root1
'load the layout to Root
Root.LoadLayout("Page1")
End Sub
Private Sub MoveToSecondMonitor(f As Form)
Dim screen As Screen = FindSecondScreen(f)
f.WindowLeft = screen.MinX + 10
f.WindowTop = screen.MinY + 10
End Sub
Private Sub FindSecondScreen(f As Form) As Screen
Dim fx As JFX
For Each screen As Screen In fx.Screens
If (f.WindowLeft > screen.MaxX Or f.WindowLeft < screen.MinX) And _
(f.WindowTop > screen.MaxY Or f.WindowTop < screen.MinY) Then
Return screen
End If...
Private Sub B4XPage_Created (Root1 As B4XView)
Dim f As Form = B4XPages.GetNativeParent(Me)
f.SetFormStyle("UTILITY")
MoveToSecondMonitor(f)
SetMaximized(f)
Root = Root1
'load the layout to Root
Root.LoadLayout("Page1")
End Sub
Private Sub MoveToSecondMonitor(f As Form)
Dim screen As Screen = FindSecondScreen(f)
f.WindowLeft = screen.MinX + 10
f.WindowTop = screen.MinY + 10
End Sub
Private Sub FindSecondScreen(f As Form) As Screen
Dim fx As JFX
For Each screen As Screen In fx.Screens
If (f.WindowLeft > screen.MaxX Or f.WindowLeft < screen.MinX) And _
(f.WindowTop > screen.MaxY Or f.WindowTop < screen.MinY) Then
Return screen
End If
Next
Return fx.PrimaryScreen
End Sub
Sub SetMaximized(frm As Form)
Dim joForm As JavaObject = frm
Dim joStage As JavaObject = joForm.GetField("stage")
joStage.RunMethod("setMaximized", Array(True))
End Sub
I'm working with a single (42'') monitor here so can't fully test it.
Private Sub FindSecondScreen(f As Form) As Screen
Dim fx As JFX
For Each screen As Screen In fx.Screens
If fx.PrimaryScreen <> screen then
Return screen ' found second screen
End If
Next
Return fx.PrimaryScreen
End Sub