BBjWindow::addCEdit

Description

Creates a special multi-line text editing control in the BBjWindow.

Syntax

Return Value Method

BBjCEdit

addCEdit(int ID, number x, number y, number w, number h, string title)

BBjCEdit

addCEdit(int ID, number x, number y, number w, number h, string title, string flags)

BBjCEdit addCEdit(int ID, string title)
BBjCEdit addCEdit(int ID, string title, string flags)
BBjCEdit addCEdit(string title)
BBjCEdit addCEdit(string title, string flags)

Parameters

Variable

Description

ID

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.

Note:

If x, y, width, and height are all 0, the BBjCEdit control will be sized to fill the window (and resized as necessary when the window is resized).

title

The initial text contents of the control. This is equivalent to setting the text with the BBjControl::setText method

flags

Control flags, as follows:

Flag Description

$0001$

Sets the control to be initially disabled.

$0002$

Causes the control to wrap text to the next line. (Disables the horizontal scroll bar).

$0004$ 

Draws a border around the control. See CEDIT_BORDER option in STBL Formats - BBj.

$0008$

Limits the control text to one paragraph.

$0010$ 

Sets the control to be initially invisible.

$0020$

Designates the control to be part of a keyboard navigation group.

$0080$

Includes a horizontal scroll bar in the control.

$0100$

Includes a vertical scroll bar in the control.

$0200$ 

Defines the edit text as read-only.

$0800$ 

Draws a recessed client edge around the control.

$1000$ 

Draws a raised edge around the control.

$2000$ 

Causes the control to be initially in overstrike mode.

$8000$ 

Causes the control to ignore tabs in text input. (Useful in dialogs.)

Return Value

Returns the created BBjCEdit object.

Remarks

The BBjCEdit control holds one or more lines of text, called paragraphs, each of which may occupy one or more physical lines, depending on the "wrap" setting.

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 'Add a custom edit box to a window

rem 'Obtain the instance of the BBjAPI object
let myAPI! = BBjAPI()

rem 'Open the SysGui device
SYSGUI = UNT
OPEN (SYSGUI) "X0"

rem 'Obtain the instance of the BBjSysGui object
let mySysGui! = myAPI!.getSysGui()

rem 'Set addWindow param values
X = 10
Y = 10
WIDTH = 200
HEIGHT = 200
TITLE$="BBj Window"

rem 'Set the current context
mySysGui!.setContext(0)

rem 'Create a window
myWindow! = mySysGui!.addWindow(X,Y,WIDTH,HEIGHT,TITLE$)

rem 'Add a button on the window
myCEdit! = myWindow!.addCEdit(101,50,100,90,30,"",$0008$)

rem 'Register the CALLBACK routines
CALLBACK(ON_EDIT_MODIFY,CEDIT_MODIFIED,mySysGui!.getContext(),myCEdit!.getID())
CALLBACK(ON_CLOSE,APP_CLOSE,mySysGui!.getContext())

rem 'Process Events
process_events

rem 'Callback routine called when the contents of the CEDIT box are modified
CEDIT_MODIFIED:
    rem 'Display a message with the CEdit contents
    MESSAGE$="The CEdit contents are: " + STR(myCEdit!.getText())
    let X = MSGBOX(MESSAGE$)
return

rem 'Callback routine called when the user closes the application window
APP_CLOSE:
release

See Also

BBjAPI

BBjSysGui

BBjControl

BBjWindow

`CEDIT' Mnemonic

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