Platforms to show: All Mac Windows Linux Cross-Platform

/Win/Windows Displays


Required plugins for this example: MBS Win Plugin

Last modified Thu, 3rd Apr 2024.

You find this example project in your MBS Xojo Plugin download as a Xojo project file within the examples folder: /Win/Windows Displays

Download this example: Windows Displays.zip

Project "Windows Displays.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
End Control
EventHandler Sub Open() Dim displays() As WindowsDisplayMBS = WindowsDisplayMBS.Displays for each display as WindowsDisplayMBS in displays List.AddRow "DeviceName", display.DeviceName List.AddRow "DeviceInstanceID", display.DeviceInstanceID list.AddRow "" List.AddRow "Position", display.X.ToString + " x " + display.Y.ToString List.AddRow "Size", display.Width.ToString + " x " + display.Height.ToString List.AddRow "Primary", yes(display.Primary) List.AddRow "" List.AddRow "Logical Pixels X", Str(display.LogPixelsX) List.AddRow "Logical Pixels Y", Str(display.LogPixelsY) List.AddRow "Logical Position", display.LogX.ToString + " x " + display.LogY.ToString List.AddRow "Logical Size", display.LogWidth.ToString + " x " + display.LogHeight.ToString List.AddRow "" List.AddRow "DisplayAdapterActive", yes(display.DisplayAdapterActive) List.AddRow "DisplayAdapterDeviceID", display.DisplayAdapterDeviceID List.AddRow "DisplayAdapterDeviceKey", display.DisplayAdapterDeviceKey List.AddRow "DisplayAdapterDeviceName", display.DisplayAdapterDeviceName List.AddRow "DisplayAdapterDeviceString", display.DisplayAdapterDeviceString List.AddRow "DisplayAdapterRemovable", yes(display.DisplayAdapterRemovable) List.AddRow "DisplayAdapterStateFlags", str(display.DisplayAdapterStateFlags) list.AddRow "" List.AddRow "DisplayMonitorActive", yes(display.DisplayMonitorActive) List.AddRow "DisplayMonitorDeviceID", display.DisplayMonitorDeviceID List.AddRow "DisplayMonitorDeviceKey", display.DisplayMonitorDeviceKey List.AddRow "DisplayMonitorDeviceName", display.DisplayMonitorDeviceName List.AddRow "DisplayMonitorDeviceString", display.DisplayMonitorDeviceString List.AddRow "DisplayMonitorRemovable", yes(display.DisplayMonitorRemovable) List.AddRow "DisplayMonitorStateFlags", str(display.DisplayMonitorStateFlags) list.AddRow "" List.AddRow "Monitor Position", display.MonitorX.ToString + " x " + display.MonitorY.ToString List.AddRow "Monitor Size", display.MonitorWidth.ToString + " x " + display.MonitorHeight.ToString list.AddRow "" List.AddRow "Width DPI", Str(display.WidthDPI) List.AddRow "Width Inch", Str(display.WidthInch) List.AddRow "Width MM", Str(display.WidthMM) List.AddRow "Height DPI", Str(display.HeightDPI) List.AddRow "Height Inch", Str(display.HeightInch) List.AddRow "Height MM", Str(display.HeightMM) list.AddRow "" next // also list Xojo's screen Dim c As Integer = DesktopDisplay.DisplayCount For i As Integer = 0 To c-1 Dim d As DesktopDisplay = DesktopDisplay.DisplayAt(i) List.AddRow "Xojo Screen", i.ToString List.AddRow "Position", d.Left.ToString + " x " + d.Top.ToString List.AddRow "Size", d.Width.ToString + " x " + d.Height.ToString List.AddRow "ScaleFactor", d.ScaleFactor.ToString list.AddRow "" Next End EventHandler
Private Function yes(b as Boolean) As string if b then Return "yes" else return "no" end if End Function
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
Sign
End Sign
End Project

See also:

Download this example: Windows Displays.zip

The items on this page are in the following plugins: MBS Win Plugin.


The biggest plugin in space...