BBjWindow::getReportAllKeyEvents

Description

In BBj 15.0 and higher, this method returns a boolean indicating whether all controls should report keypress events to the window.

Syntax

Return Value

Method

boolean

getReportAllKeyEvents()

Parameters

None.

Return Value

Returns a boolean indicating whether keypress events will be reported for all controls on the window.

Remarks

By default, only a small subset of keypress events are reported to the window when text controls have focus.

Example

rem ' BBjWindow::getReportAllKeyEvents

sysgui = unt
open (sysgui)"X0"
sysgui! = bbjapi().getSysGui()
title$ = "getReportAllKeyEvents"
window! = sysgui!.addWindow(100,100,250,300,title$,$20090003$)
gosub print
window!.setCallback(window!.ON_CLOSE,"eoj")
window!.setCallback(window!.ON_KEYPRESS,"keypress")
checkbox! = window!.addCheckBox(101,25,25,200,25,title$,$0004$)
checkbox!.setCallback(checkbox!.ON_CHECK_ON,"on")
checkbox!.setCallback(checkbox!.ON_CHECK_OFF,"off")
text! = window!.addStaticText(102,25,75,200,25,"BBjStaticText",$$)
edit! = window!.addEditBox(103,25,125,200,25,"BBjEditBox",$$)
inpute! = window!.addInputE(104,25,175,200,25,$$,255,"","BBjInputE")
cedit! = window!.addCEdit(105,25,225,200,50,"BBjCEdit",$0004$)
dim event$:tmpl(sysgui)
process_events

eoj:
release

on:
    window!.setReportAllKeyEvents(1,err=*next)
    gosub print
return

off:
    window!.setReportAllKeyEvents(0,err=*next)
    gosub print
return

print:
    print "BBjWindow::getReportAllKeyEvents() = ",
    print window!.getReportAllKeyEvents(err=*next)
return

keypress:
    print fill(72,"=")
    event$ = sysgui!.getLastEventString()
    key=event.id,flags$=event.flags$
    print "Window Keypress: ",hta(event.id$)," Flags: ",
    print hta(event.flags$)+": """+cvs(event.id$,16)+"""",
    if key>255 then print "" else gosub key
    event! = sysgui!.getLastEvent()
    print "getOriginalControl(): ",event!.getOriginalControl()
    print "getKeyChar():",num(event!.getKeyChar())
    print "getKeyCode():",num(event!.getKeyCode()),": ",
    keycode=event!.getKeyCode()
    gosub keycode
    print "isShiftDown(): ",event!.isShiftDown()
    print "isControlDown(): ",event!.isControlDown()
    print "isAltDown(): ",event!.isAltDown()
    print "isCmdDown(): ",event!.isCmdDown()
    print fill(72,"=")
return

key:
    print ": ",
    if asc(and(flags$,$01$)) then print "SHIFT+",
    if asc(and(flags$,$02$)) then print "CTRL+",;key=key+64
    if asc(and(flags$,$04$)) then print "ALT+",
    if asc(and(flags$,$08$)) then print "CMD+",
    print cvs(chr(key),16)
return

keycode:
    keycode$=bin(keycode,2)
    if asc(and(keycode$,$1000$)) then print "SHIFT+",
    if asc(and(keycode$,$2000$)) then print "CTRL+",
    if asc(and(keycode$,$4000$)) then print "ALT+",
    if asc(and(keycode$,$8000$)) then print "CMD+",
    switch dec(and(keycode$,$0fff$))
        case dec($0009$); print "Tab"; break
        case dec($001b$); print "Escape"; break
        case dec($007f$); print "Delete"; break
        case dec($012d$); print "Up arrow"; break
        case dec($012e$); print "Down arrow"; break
        case dec($012f$); print "Right arrow"; break
        case dec($0130$); print "Left arrow"; break
        case dec($0131$); print "Page up"; break
        case dec($0132$); print "Page down"; break
        case dec($0133$); print "Home"; break
        case dec($0134$); print "End"; break
        case dec($0135$); print "Ctrl-Home"; break
        case dec($0136$); print "Ctrl-End"; break
        case dec($0138$); print "Insert"; break
        case dec($0139$); print "Ctrl-Right arrow"; break
        case dec($013a$); print "Ctrl-Left arrow"; break
        case dec($013b$); print "Backtab"; break
        case dec($013e$); print "Keypad 0"; break
        case dec($013f$); print "Keypad 1"; break
        case dec($0140$); print "Keypad 2"; break
        case dec($0141$); print "Keypad 3"; break
        case dec($0142$); print "Keypad 4"; break
        case dec($0143$); print "Keypad 5"; break
        case dec($0144$); print "Keypad 6"; break
        case dec($0145$); print "Keypad 7"; break
        case dec($0146$); print "Keypad 8"; break
        case dec($0147$); print "Keypad 9"; break
        case dec($014b$); print "F1"; break
        case dec($014c$); print "F2"; break
        case dec($014d$); print "F3"; break
        case dec($014e$); print "F4"; break
        case dec($014f$); print "F5"; break
        case dec($0150$); print "F6"; break
        case dec($0151$); print "F7"; break
        case dec($0152$); print "F8"; break
        case dec($0153$); print "F9"; break
        case dec($0154$); print "F10"; break
        case dec($0155$); print "F11"; break
        case dec($0156$); print "F12"; break
        case dec($0174$); print "Keypad *"; break
        case dec($0175$); print "Keypad -"; break
        case dec($0176$); print "Keypad +"; break
        case dec($0177$); print "Keypad /"; break
        case default; print """",chr(dec(and(keycode$,$00ff$))),""" ",keycode; break
    swend
return

See Also

BBjAPI

BBjControl

BBjWindow

BBjKeypressEvent::getOriginalControl

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