rem ' fontchooser.txt sysgui = unt open (sysgui)"X0" sysgui! = bbjapi().getSysGui() fonts! = sysgui!.getSystemMetrics().getFontFamilies() winWidth = 350, winHeight = 400, buffer = 10 buttonWidth = 90, buttonHeight = 25 window! = sysgui!.addWindow(50,50,winWidth,winHeight,"BBjFontChooser",$00090083$) window!.setCallback(window!.ON_CLOSE,"eoj") window!.setCallback(window!.ON_RESIZE,"resize") font! = sysgui!.makeFont(fonts!.get(rnd(fonts!.size())),rnd(30)+10,rnd(4)) chooser! = window!.addFontChooser(101,buffer,buffer,winWidth-(buffer*2),winHeight-(buffer*3)-buttonHeight,font!) chooser!.setApproveButtonText("&Yes") chooser!.setCancelButtonText("&No") chooser!.setCallback(chooser!.ON_FONTCHOOSER_CHANGE,"change") chooser!.setCallback(chooser!.ON_FONTCHOOSER_APPROVE,"approve") chooser!.setCallback(chooser!.ON_FONTCHOOSER_CANCEL,"cancel") chooser!.setCallback(chooser!.ON_GAINED_FOCUS,"event") chooser!.setCallback(chooser!.ON_LOST_FOCUS,"event") chooser!.setCallback(chooser!.ON_MOUSE_ENTER,"event") chooser!.setCallback(chooser!.ON_MOUSE_EXIT,"event") button! = window!.addButton(1,winWidth-buttonWidth-buffer,winHeight-buffer-buttonHeight,buttonWidth,buttonHeight,"Set Font",$$) button!.setCallback(button!.ON_BUTTON_PUSH,"font") process_events eoj: release resize: event! = sysgui!.getLastEvent() chooser!.setSize(event!.getWidth()-(buffer*2),event!.getHeight()-(buffer*3)-buttonHeight) button!.setLocation(event!.getWidth()-buttonWidth-buffer,event!.getHeight()-buffer-buttonHeight) return font: font! = sysgui!.makeFont(fonts!.get(rnd(fonts!.size())),rnd(65)+5,rnd(4)) print "setSelectedFont ",font! chooser!.setSelectedFont(font!) return change: event! = sysgui!.getLastEvent() event$ = event!.toString(), event$ = event$(1,pos("@"=event$)-1) print event$,": ",event!.getFont() return approve: event! = sysgui!.getLastEvent() event$ = event!.toString(), event$ = event$(1,pos("@"=event$)-1) print event$,": ",event!.getFont() return cancel: event! = sysgui!.getLastEvent() event$ = event!.toString(), event$ = event$(1,pos("@"=event$)-1) print event$ return event: event! = sysgui!.getLastEvent() event$ = event!.toString(), event$ = event$(1,pos("@"=event$)-1) control! = event!.getControl() control$ = control!.toString(), control$ = control$(1,pos("@"=control$)-1) print control$," ",event$ return