Small Basic: Controls
This article explains the Controls object in Small Basic. In addition, the other controls are also explained.
What Are Controls?
Small Basic gives us the following three controls. These controls can be created with the Controls object.
- Button
- Text input box
- Multi-line text input box
How to Use Controls
This is a sample to use three controls.
1.GraphicsWindow.Title = "Dictionary"
2.gw = 598
3.gh = 428
4.GraphicsWindow.Width = gw
5.GraphicsWindow.Height = gh
6.GraphicsWindow.BackgroundColor = "LightGray" ' form color
7.GraphicsWindow.BrushColor = "Black" ' font color
8.GraphicsWindow.FontName = "Arial" ' second font candidate
9.GraphicsWindow.FontName = "MS Reference Sans Serif"
10.GraphicsWindow.DrawText(10, 14, "Word")
11.wordBox = Controls.AddTextBox(50, 10)
12.findBtn = Controls.AddButton("Search", 220, 8)
13.defBox = Controls.AddMultiLineTextBox(10, 40)
14.Controls.SetSize(defBox, gw - 20, gh - 50)
15.Controls.ButtonClicked = OnButtonClicked
16.Sub OnButtonCLicked
17. word = Controls.GetTextBoxText(wordBox)
18. def = Dictionary.GetDefinition(word)
19. Controls.SetTextBoxText(defBox, def)
20.EndSub
Controls Object
The Controls object has the following members. Details of the Controls object are described in the Reference Document.
Properties
- LastClickedButton (for button)
- LastTypedTextBox (for text box and multi-line text box)
Events
- ButtonClicked (for button)
- TextTyped (for text box and multi-line text box)
Operations
- AddButton (for button)
- AddMultiLineTextBox (for multi-line text box)
- AddTextBox (for text box)
- GetButtonCaption (for button)
- GetTextBoxText (for text box and multi-line text box)
- HideControl
- Move
- Remove
- SetButtonCaption (for button)
- SetSize
- SetTextBoxText (for text box and multi-line text box)
- ShowControl
New Line in Multi-Line Text Box
Text in a multi-line text box has multiple lines separated with new line codes. If the program runs in desktop (local), then the new line code is CR+LF. CR (carriage return) is 0x0D and LF (line feed) is 0x0A. And if the program runs in browser with smallbasic.com (remote), then the new line code is CR. These are about input from keyboard with [Enter] key.
If you copy (or cut) and paste a multi-line text from other program (software) to a multi-line text box in a Small Basic program, original new line code will be kept. That may CR, LF or CR+LF.
You can confirm about new lines with Text Dump 0.21 KPS036-0.
Extra Controls
Sample Programs
There are many controls in other programming languages. Following samples show how to create such extra controls in Small Basic.
- Check Box (GZL896) - Check box control is an on/off switch. Details are described in an article Small Basic: How to Make a Check Box.
- Radio Button (SZW634) - Radio buttons are controls to select one from a group.
- Color Slider (HWD964) - Slider control is to get a value from a range.
- Progress Bar (MBB966-0) - Progress bar shows percentage.
Extensions
- LitDev Extension - LDControls object has TreeView, RichTextBox, WebBrowser, ListBox, ComboBox, CheckBox, RadioButtons, MediaPlayer, Slider, ProgressBar, PasswordBox, DocumentViewer, Menu and ListView.
See Also
- Small Basic Curriculum: Lesson 3.5: The Controls Object
- Small Basic Known Issue: 23589 - Controls.GetTextBoxText() Returns CR+LF as Newline from Multi-Line Text Box in Local but CR in Remote
- Small Basic: Default Value (default size)
- Wiki: Small Basic Portal