Xbasic
{VSCROLL}
Syntax
{VSCROLL=% Lower, Upper % Width, Height Name }
Arguments
- Lower
Numeric. The lower limit of the range of values generated by the scroll bar.
- Upper
Numeric. The upper limit of the range of values generated by the scroll bar.
- Width
Numeric. The width of the scroll bar in characters, by default using the size of Arial 8 point characters.
- Height
Numeric. The height of the scroll bar in lines, by default using the size of Arial 8 point characters.
- Name
Character. The name of the scroll bar used to display it.
Description
The {VSCROLL} command displays a vertical scroll bar.
Example
dim k as N dim list as C dim pos as N dim window as C list = "" FOR k = 1 TO 110 list = list + "Item # "+ k + crlf() next old_pos = 0 pos = 0 line = 1 window = word(list,pos+1,crlf(),10) ui_dlg_box("Vertical Scroll Bar",<<%dlg% {on_key=UP!up} {on_key=DOWN!down} {on_key=PGUP!pgup} {on_key=PGDN!pgdn} {xmargin=3} .20,10line^#window{vscroll=%0,100%3,10pos!pos_changed}; {lf}; {region} Current Selection |.5line; ; Current Scroll Index |.5pos {endregion} %dlg%,<<%code% IF a_dlg_button = "pos_changed" THEN a_dlg_button = "" delta = pos - old_pos line = line + delta old_pos = pos window = word(list,pos+1,crlf(),10) ui_dlg_ctl_goto("test","line^#window") ELSE IF a_dlg_button = "up" THEN a_dlg_button = "" line = line - 1 IF line < 1 THEN line = 1 pos = pos - 1 IF pos < 0 THEN pos = 0 END IF window = word(list,pos+1,crlf(),10) END IF ELSE IF a_dlg_button = "down" THEN a_dlg_button = "" line = line+1 IF line > 10 THEN line = 10 pos = pos + 1 IF pos > 100 THEN pos = 100 END IF window = word(list,pos+1,crlf(),10) END IF ELSE IF a_dlg_button = "pgup" THEN a_dlg_button = "" pos = pos - 10 IF pos < 0 THEN pos = 0 END IF line = line window = word(list,pos+1,crlf(),10) ELSE IF a_dlg_button = "pgdn" THEN a_dlg_button = "" pos = pos + 10 IF pos > 100 THEN pos = 100 END IF line = line window = word(list,pos+1,crlf(),10) END IF %code%)
Limitations
Desktop applications only
See Also