BBjWindow::addFontChooser

Description

In BBj 7.00 and higher, this method creates a BBjFontChooser in the BBjWindow.

Syntax

Return Value

Method

BBjFontChooser

addFontChooser(int ID, number x, number y, number w, number h)

BBjFontChooser

addFontChooser(int ID, number x, number y, number w, number h, BBjFont font!)

BBjFontChooser

addFontChooser(int ID, number x, number y, number w, number h, BBjFont font!, string flags)

BBjFontChooser addFontChooser(int ID)
BBjFontChooser addFontChooser(int ID, BBjFont font!)
BBjFontChooser addFontChooser(int ID, BBjFont font!, string flags)
BBjFontChooser addFontChooser()
BBjFontChooser addFontChooser(BBjFont font!)
BBjFontChooser addFontChooser(BBjFont font!, string flags)

Parameters

Variable

Description

ID

Specifies the Control ID number. It must be an integer between 1 and 32767 and be unique within a given top level window.

x

Horizontal position of the upper-left corner of the control in current units.

y

Vertical position of the upper-left corner of the control in current units.

width

Width of the control in current units.

height

Height of the control in current units.

font

Initial font selection.

flags

Control flags, as follows:

Flag Description
$0001$ Sets the control to be initially disabled.
$0010$ Sets the control to be initially invisible.
$0800$ Draws a recessed client edge around the control.
$1000$ Draws a raised edge around the control.

Return Value

Returns the created BBjFontChooser object.

Remarks

If the ID parameter is not specified, a control ID is assigned dynamically using getAvailableControlID().

If the x, y, width, and height parameters are not specified, they are all initialized to 0. This is typically for use with DWC windows that dynamically arrange their contents (window creation flag $00100000$).

Example

rem ' BBjWindow::addFontChooser Example

rem ' BBjFontChooser
sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
width = 500, height = 400
title$ = "BBjFontChooser"
window! = sysgui!.addWindow(25,25,width+50,height+100,title$,$00090083$)
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.setCallback(window!.ON_RESIZE,"resize")
fontchooser! = window!.addFontChooser(101,25,25,width,height)
fontchooser!.setCallback(fontchooser!.ON_FONTCHOOSER_CHANGE,"change")
fontchooser!.setCallback(fontchooser!.ON_FONTCHOOSER_APPROVE,"approve")
fontchooser!.setCallback(fontchooser!.ON_FONTCHOOSER_CANCEL,"cancel")

rem 'fontchooser!.setCallback(fontchooser!.ON_GAINED_FOCUS,"event")
rem 'fontchooser!.setCallback(fontchooser!.ON_LOST_FOCUS,"event")
rem 'fontchooser!.setCallback(fontchooser!.ON_MOUSE_ENTER,"event")
rem 'fontchooser!.setCallback(fontchooser!.ON_MOUSE_EXIT,"event")
button! = window!.addButton(1,width+25-120,height+50,120,25,"Random",$$)
button!.setCallback(button!.ON_BUTTON_PUSH,"random")
status! = window!.addStatusBar(99)
fonts! = sysgui!.getSystemMetrics().getFontFamilies()
gosub random
process_events

eoj:
release

status:
    status!.setText(status$)
    print status$
return

resize:
    event! = sysgui!.getLastEvent()
    fontchooser!.setSize(event!.getWidth()-50,event!.getHeight()-80)
    button!.setLocation(event!.getWidth()-120-25,event!.getHeight()-30)
    status$ = event!.getEventName()+" width="+str(event!.getWidth())+",height="+str(event!.getHeight())
    gosub status
return

random:
    font! = sysgui!.makeFont(fonts!.get(rnd(fonts!.size())),rnd(72),rnd(4))
    fontchooser!.setSelectedFont(font!)
    status$ = "setSelectedFont "+str(font!)
    gosub status
return

change:
    event! = sysgui!.getLastEvent()
    event$ = event!.getEventName()
    status$ = event$+": "+str(event!.getFont())
    gosub status
return

approve:
    event! = sysgui!.getLastEvent()
    event$ = event!.getEventName()
    status$ = event$+": "+str(event!.getFont())
    gosub status
return

cancel:
    event! = sysgui!.getLastEvent()
    event$ = event!.getEventName()
    print event$
    status$ = event$
    gosub status
return

event:
    event! = sysgui!.getLastEvent()
    event$ = event!.getEventName()
    print event$
    status$ = event$
    gosub status
return

See Also

BBjAPI

BBjSysGui

BBjControl

BBjWindow

See the BBj Object Diagram for an illustration of the relationship between BBj Objects.