BBjTopLevelWindow::getWindowMode
Description
In BBj 21.0 and higher, this method returns the runtime mode of a BBjTopLevelWindow. The available modes (MDI, SDI, DETACHED) are defined in BBjMDI::getDefaultMDIMode.
Syntax
Return Value | Method |
---|---|
String | getWindowMode() |
Parameters
None.
Return Value
The return value is one of the following strings:
String | Description |
---|---|
MDI | The BBjTopLevelWindow is an MDI child window confined to the user area of an MDI master. The child will be terminated when the MDI master is closed. |
SDI | The BBjTopLevelWindow is attached to an MDI master, but it's not confined to the MDI master's user area. The window will be terminated when its MDI master is closed. |
DETACHED | This BBjTopLevelWindow is not attached to an MDI window. |
Example
Copy
BBjTopLevelWindow::getWindowMode Example
rem ' BBjTopLevelWindow::getWindowMode
if argc>1 then goto client
a = scall("bbj "+pgm(-1)+" - Standalone_Window&")
sysgui = unt
open (sysgui)"X0"
mdi! = bbjapi().getMDI()
mdi!.createMDIWindow(50,50,800,600,"MDI Window")
mdi!.setCallback(mdi!.ON_CLOSE,"eoj")
a = scall("bbj "+pgm(-1)+" - MDI_Client&")
mdi!.setDefaultMDIMode("SDI")
a = scall("bbj "+pgm(-1)+" - SDI_CLIENT&")
process_events
eoj:
release
client:
sysgui! = bbjapi().openSysGui("X0")
x$ = argv(1)
window! = sysgui!.addWindow(10,10,640,480,x$)
mode$ = window!.getWindowMode()
window!.setTitle(mode$+": "+x$)
metrics! = sysgui!.getSystemMetrics()
switch window!.getWindowMode()
case "DETACHED"
bounds! = metrics!.getScreenBounds()
break
case "MDI"
bounds! = metrics!.getScreenBounds()
break
case "SDI"
screen = metrics!.getScreenNumber(window!)
bounds! = metrics!.getScreenBounds(screen)
break
case default
bounds! = metrics!.getScreenBounds()
break
swend
print mode$+" "+str(bounds!)
if bbjapi().isInMDI() then
bounds! = metrics!.getScreenBounds()
s$ = "MDI w="+str(bounds!.width)+" h="+str(bounds!.height)
st! = window!.addStaticText(100,10,10,400,25,s$)
if mode$="MDI" then st!.setBackColor(BBjColor.YELLOW)
screen = metrics!.getScreenNumber(window!)
bounds! = metrics!.getScreenBounds(screen)
s$ = "Screen "+str(screen)+" w="+str(bounds!.width)+" h="+str(bounds!.height)
st! = window!.addStaticText(101,10,40,400,25,s$)
if mode$="SDI" then st!.setBackColor(BBjColor.YELLOW)
else
bounds! = metrics!.getScreenBounds()
s$ = "Screen w="+str(bounds!.width)+" h="+str(bounds!.height)
st! = window!.addStaticText(100,10,10,400,25,s$)
st!.setBackColor(BBjColor.YELLOW)
endif
window!.setCallback(window!.ON_CLOSE,"eoj")
process_events
Version History
See Also
See the BBj Object Diagram for an illustration of the relationship between BBj Objects.