Projects, Forms, and Controls: Difference between revisions
Line 75: | Line 75: | ||
<pre> | <pre> | ||
'Put this in your global code | 'Put this in your global code | ||
Print "This is the global code" | |||
Sub Main() | Sub Main() | ||
Print "Main" | |||
End Sub | End Sub | ||
Function window_onunload() | Function window_onunload() | ||
Print "Unloading!" | |||
End Function | End Function | ||
</pre> | </pre> |
Revision as of 14:23, 22 September 2014
Controls
A control is a visual object used by your program. Controls have Properties which can be queried and set, Methods which can be called as FUNCTION or SUB procedures, and Events which can be triggered by user actions, the operating system, or other programs.
A number of controls are included with App Studio. These include checkbox, commandButton, combobox, grid, textbox and other common objects.
Control Events
An event is a call that a control makes to your program, as a result of an action in the control. For instance, if you have a commandbutton in your program, an event will take place when the user taps the button. If your button's name is "MyButton", App Studio will call the function MyButton_onclick() in your program. If you do not have such a function, the event is ignored.
Another example would be if you were performing an SQL operation. Incoming data will cause the Success_Function event to be sent, which will then call Function Success_Function in your program.
Control Methods
A control can be hidden by using
myControl.hide()
A control can be shown by executing
myControl.show()
Forms
A Form is a group of controls that are shown and hidden at the same time. Form names should be unique: not used also for a variable or another control. A good convention is to add frm in front as in frmHelp. Forms can be full screen or partial screen. More than one form can show at a time, so it’s possible to have two forms side by side on devices with large screens. Do this by setting the bounds of the form in the form’s properties. See also the Form page.
Form Methods
A form can be hidden by using
formName.hide()
A form can be shown by executing
formName.show()
To go to a new form,
ChangeForm(Form2)
To see the name of the current form
Msgbox NSBCurrentForm.id
To change the background color of a form, blank out 'backgroundimage' in Project Properties, then add these statements to your code:
Sub Main() document.body.style.backgroundColor=vbRed End Sub
Form Events
Show and Hide events are called when you use ChangeForm() to go to a new form.
Example
ChangeForm(Form2) Function Form1_onhide() 'save our work End Function Function Form2_onshow() 'put in initial values End Function
Program Events
When a program is started, code is run in the following order:
- Global code in forms, in the order the forms appear in the Project Explorer. 'firstform' does not affect this.
- Global code in Project Properties and Global Code.
- Sub Main(), if present.
- Form code in the first form's onshow() event. This is also the point where first form appears on the display. If you want to reconfigure some controls when the form first displays, this is the place to do it.
For clarity, it is best to always put all your global code in the Project Properties and Global Code section.
The forms are created at the same time as the global code is run.
A call is made to Sub Main() before the first form is shown. If you have such a function, it will be executed.
When you exit the program, the window_onbeforeunload function is called. This is a good place to do housekeeping or save some data. If you return anything from this function, it is used in a confirm script.
Example
'Put this in your global code Print "This is the global code" Sub Main() Print "Main" End Sub Function window_onunload() Print "Unloading!" End Function
window_onunload does not work on all browsers. In particular, it does not work on Chrome.
Browser Warning Message
On startup, AppStudio apps call a function to check if the browser being used will work. If it won't, the message in browserwarningmsg will be displayed. You can change the message in Project Properties. There are two more things you can do to customize how the warning message appears:
1. Create your own browserWarningMessage script. This will be called instead of the default script.
Sub browserWarningMessage() NSB.MsgBox "App will run on all browsers. May not be compatible." End Script
2. You can also create your own browserWarningMessageAfterScript. This will be called only if the default script is used, and the user needs to be warned.
Sub browserWarningMessageAfterScript() NSB.MsgBox "OK, you have been warned!" End Sub