Spinner Control

 

The SPINNER control has a pair of arrow buttons which the user can click to increment or decrement a value displayed in a small edit box connect to the arrow buttons.

Use the controls variable attribute to set the range of values that the control will display. The variable should contain a vertical bar (|) delimited list with two or three items.

"{minimum}|{maximum}|{increment/decrement}"

 

Make the first item the minimum value and the second the maximum value. The minimum value can be greater than the maximum value, but both values must be in the range of -32768 to 32767, and the difference between the values cannot exceed 32767. The third value indicates the amount to add or subtract from the displayed number each time the user clicks an up or down arrow (or presses the arrow keys when the control has the input focus.) The control adds or subtracts one (1) each time, if you do not supply the third value. The final value selected by the user is placed in the "variable" when the Dialog function returns.

You can indicate the initial value for your control by placing a number in the text attribute of the control definition. The control will default to the minimum value if you do not indicate an initial value, or if your initial value does not fall within the range you have selected in the "variable" attribute.

Return Value:

The SPINNER control will return the users selection in the variable you supply as the Variable attribute in the controls definition.

Control Definition:

 

<dlg-variable>nn =`x, y, width, height, type, control-name, variable, text, value, tab-order, style, font, textcolor, backgroundcolor`

 

For Example:

MyDialog003=`005,005,048,DEFAULT,SPINNER,"Spinner_1",spVariable1,"1",DEFAULT,30,DEFAULT,DEFAULT,DEFAULT,DEFAULT`

 

Attribute

Value

Meaning

dlg-variable

MyDialog

The name of the dialog box.

nn 

003

The ordinal position of the control in the dialog box (starting with 1).

x

005

The horizontal coordinate of the upper left corner of the control in Dialog Units.

y

005

The vertical coordinate of the upper left corner of the control in Dialog Units.

width

048

The width of the control in Dialog Units

height

DEFAULT

The height of the control in Dialog Units.[This should be DEFAULT for this control]

type 

SPINNER

The type of control.

control-name

"Spinner_1"

The name used to identify the control in a user defined callback procedure. The name cannot be more than 30 characters in length and MUST be unique. ( This attribute can only be used with 6.2 or later dialog formats. )

variable

spVariable1

The name of the variable affected by the control.

Use the controls variable attribute to set the range of values that the control will display. The variable should contain a vertical bar (|) delimited list with two or three items.

"{minimum}|{maximum}|{increment/decrement}"

 

Make the first item the minimum value and the second the maximum value. The minimum value can be greater than the maximum value, but both values must be in the range of -32768 to 32767, and the difference between the values cannot exceed 32767. The third value indicates the amount to add or subtract from the displayed number each time the user clicks an up or down arrow (or presses the arrow keys when the control has the input focus.) The control adds or subtracts one (1) each time, if you do not supply the third value. The final value selected by the user is placed in the "variable" when the Dialog function returns.

text

"1"

The description which will be displayed with the control. [Use an empty string ("") if the control should appear blank.]  

You can indicate the initial value for your control by placing a number in the text attribute of the control definition. The control will default to the minimum value if you do not indicate an initial value, or if your initial value does not fall within the range you have selected in the "variable" attribute.

value

DEFAULT

Not applicable to this control.

tab-order

30

Allows you to specify a control's tab order independently of a control's position or name in the dialog template. Tab-order controls the order in which controls are accessed when the keyboard is used to navigate the dialog. It also influences which control is on top when controls have overlapping positions in the dialog. It can be any positive integer, but each control should have a unique number.

When you navigate through a dialog using the tab key, lower number controls will be given the keyboard focus before higher controls. Likewise, low-numbered overlapping controls will appear on top of higher numbered controls. If you specify the DEFAULT keyword for this attribute or if you give two controls the same tab order, a tab order will be arbitrarily assigned to the control.

Note: The dialog function, under certain circumstances, may change the tab order you specify. The GROUPBOX controls tab order may be adjusted so that it is smaller than any of the controls it contains. In addition, the tab order of the controls inside the GROUPBOX may be adjusted so that they are consecutive.

style 

DEFAULT

Allows you to control the initial appearance and behavior of your control. Numbers represent each style and they can be combined, using the bit-wise OR (|) operator, to set multiple styles. The following table lists the style numbers, their meanings, and the controls that they have an effect on.

Style

Meaning

@csInvisible (1)

Control is invisible

@csDisabled (2)

Control has disabled appearance and does not accept any user input, it would otherwise accept input.

@csReadOnly (8)

The controls text cannot be changed by typing in new text when the control has the input focus. (Note: The user can still change the value in a SPINNER controls by using the up and down arrows.)

Note: Specifying 0 for this attribute is equivalent to using the DEFAULT keyword and means that the control will exhibit default behavior.

font 

DEFAULT

The font used to display a control's text. The font description should be delimited by double quote (") marks unless the attribute is set to DEFAULT. If this attribute is set to DEFAULT, the font specified as the value of the main dialog font will be used. If the main dialog font is set to DEFAULT, the system font is used. You do not need to provide any value for this attribute unless you are also specifying text or background color. For details see the Dialog Fonts topic. WARNING: If a font is selected that doesn't exist on the user's system, a substitution will be made. We recommend using commonly available fonts.

textcolor 

DEFAULT

The color of text associated with a control. Color is specified by three vertical bar (|) delimited numbers ranging from 0 to 255 or a single hexadecimal number preceded by the letter 'h'. The numbers represent one of the RGB colors: red, green or blue, in that order. The complete color specification must be surrounded by double quotes (") unless the DEFAULT key word is used. If this attribute is set to DEFAULT, the color listed in the main dialog's textcolor will be used. If a color is not specified for the dialog, the system text color will be used.

backgroundcolor 

DEFAULT

Used to change the color displayed behind a controls text. Color is specified by three vertical bar (|) delimited numbers ranging from 0 to 255 or a single hexadecimal number preceded by the letter 'h'. The numbers represent one of the RGB colors (red, green or blue, in that order). The complete color specification must be surrounded by double quotes (") unless the DEFAULT keyword is used. If no color is specified or the DEFAULT keyword is used the system background color will be used.

 

Event Options

Use the DialogProcOptions function to control when your User-Defined-Callback procedure is called by its associated dialog. You can also use it to control your dialog's behavior, while your procedure is executing. You usually establish callback events during the first call to the procedure i.e., event 0, but this can be done during any call.

Event-Option-Code Values

Meaning

@deSpChange (10)

SPINNER Number Change: User has changed the value of a SPINNER control.

 

 

 

 

Dialog Callback Procedure Function Options

DialogControlGet function returns text and state information associated with a control.

Request

Meaning

@dcSpin (8)

Current value displayed in control.

@dcBackColor (11)

Background color specified by three vertical bar (|) delimited numbers ranging from 0 to 255. If the control is using the system default color, the string "DEFAULT" is returned.

@dcTextColor (13)

Text color specified by three vertical bar (|) delimited numbers ranging from 0 to 255. If the control is using the dialog's default text color, the string "DEFAULT" is returned.

@dcPosition (17)

Space delimited list of a control's position and size in dialog units relative to the dialog's client area. The first two numbers are the horizontal and vertical location of the upper-left corner of the control while the third and fourth numbers are the width and height of the control.

@dcMenuNames (18)

Tab delimited list of menu item names associated with the control, menu item or menu bar.

@dchWnd (19)

Window handle of a dialog control.

 

 

 

DialogControlSet function changes the text or appearance of a control.

Request

Meaning

@dcSpin (8)

Displayed value of control

@dcBackColor (11)

Background color. The color is specified by three vertical bar (|) delimited numbers ranging from 0 to 255 or a single hexadecimal number preceded by the letter 'h'. To give the control the system default background color, use an empty string ""or the "DEFAULT "key string for this parameter.

@dcTextColor (13)

Text color. The color is specified by three vertical bar (|) delimited numbers ranging from 0 to 255 or a single hexadecimal number preceded by the letter 'h'.  To give the control the dialog's default text color, use an empty string ""or the "DEFAULT "key string for this parameter

@dcPosition (17)

Space delimited list of a control's position and size in dialog units relative to the dialog's client area. The first two numbers are the horizontal and vertical location of the upper-left corner of the control while the third and fourth numbers are the width and height of the control.

 

 

 

DialogControlState function changes a control’s style or gives control input focus.

Style

Meaning

@csInvisible (1)

Control is invisible

@csDisabled (2)

Control has disabled appearance and does not accept any user input, it would otherwise accept input.

@csReadOnly (8)

The controls text cannot be changed by typing in new text when the control has the input focus. (Note: The user can still change the value in a SPINNER controls by using the up and down arrows.)

 

 

 

 

 

 

 

§         Dialog

§         Dialog Overview

§         Defining the Dialog

§         Defining the Dialog Controls

§         Dialog Control Types

§         Dynamic Dialogs

§         InternetExplorer Controls

§         Dialog Units

§         Dialog Fonts

 

Control Types

§         Calendar

§         Checkbox

§         ComControl

§         DropListbox

§         Editbox

§         FileListbox

§         Groupbox

§         Itembox

§         MenuBar

§         MenuItem

§         MultiLinebox

§         Picture

§         PictureButton

§         PushButton

§         RadioButton

§         ReportView

§         Spinner

§         StaticText

§         VaryText