| **Navigation:**  Window and Report Control Properties >====== Spin Box Control Properties ====== | [[sheet control properties.htm|{{btn_prev_n.gif|Previous page}}]][[coming future.htm|{{btn_home_n.gif|Return to chapter overview}}]][[string control properties.htm|{{btn_next_n.gif|Next page}}]] | | || [[spin declare a spinning list control .htm|Spin]] Boxes are specialized entry boxes that only accept values in a predefined range. They also provide the user with "increase" and "decrease" buttons, which many people like because they can use the mouse to change the value. The user can also type a value directly into the control. {{notebox.jpg|NoteBox.jpg}} The Property View presents you with two ways to viewing a control's properties. At the top of the Property View, press the categorized button {{categorized.jpg|categorized.jpg}} to view a control's properties by category (the deafult). Or press the alphabetical button {{alphabetical.jpg|alphabetical.jpg}} to view a control's properties in alphabetical order. This help documents displays the properties in the categorical view. **Color** Enter a valid color equate in the TextColor, BackGround, SelForeGround, or SelBackGround, or press the ellipsis (...) button to select a color from the **Color** dialog. The **Window Designer** adds the [[color set color .htm|COLOR]] attribute to your control declaration. See ..\LIBSRC\EQUATES.CLW for a list of valid color equates. See //Windows Design Issues// in the //User's Guide// for a discussion on using color to enhance your application. **Design** | **Locked** | "Freezes" the control so that subsequent data dictionary changes are not applied. You can override the #Freeze attribute for all controls or for individual controls. See **[[application options dialog.htm|Application Options]]**. | | **Tab Index** | Determines the index in the TAB order that this control will follow. The first tab in the order is index zero (0).To change the **TabIndex** property //immediately// while in the Designer, use the **Show tab order** interface (i.e. on the right-click menu).If you set the **TabIndex** property using the property page, the z-order is not updated until you save and exit the Window Designer. | **Extra** | **Delay** | The amount of time before the second EVENT:NewSelection occurs in hundredths of seconds. The first EVENT:NewSelection occurs when the end user clicks and holds the arrow button. (The [[delay set repeat button delay .htm|DELAY]] attribute) | | **DropID** | To specify the type of Drag operations this control will accept, type up to 16 //signatures//, separated by commas. The **Window Designer** adds the **[[dropid set drag and drop target signatures .htm|DROPID]]** attribute to the control, which indicates the control is a valid target for the drag and drop operations identified by the signatures. | | **EntryMode** | Choose either **[[ins ovr set typing mode .htm|Insert]]**[[ins ovr set typing mode .htm|, ]]**[[ins ovr set typing mode .htm|Overwrite]] **or **Default**. The **Entry Mode **applies only for windows with the MASK attribute set. Default accepts input according to the current system settings. | | **Range** | Specify the upper and lower **Range **limits, and the **Step **value. Place the highest value which the control should return in the **Range Upper **field. The value should match the **Picture **field. Place the lowest acceptable value in the **Lower **field. Place the Step value--the amount by which each press of the increase or decrease buttons should change the spin box value--in the **Step **field. | | **Repeat** | This is how often the EVENT:NewSelection occurs in hundredths of seconds when the end user clicks and holds the arrow button. (The [[repeat set repeat button rate .htm|REPEAT]] attribute) | | **TextCase** | Specify case attributes for the entry field. The entry box can automatically convert characters from one case to another. **[[cap upr set case .htm|Uppercase]] **automatically converts to all caps. **[[cap upr set case .htm|Capitalize]]** converts to proper case. **Default **(no attribute) accepts input in the case the user types it. | **General** | **From** | The [[from set listbox data source .htm|FROM]]** **attribute is optional, but is useful for values that progress in an irregular increment. You may also wish to provide the user with strings formatted as Spin Box choices when the choices are a natural progression such as the days of the week or the months of the year. Specify a [[queue declare a memory queue structure .htm|QUEUE]] in the **From **field. This and **Range** are mutually exclusive. | | **Justification** | Specify left, center, right, decimal, or default justification. Default justification matches that specified in the data dictionary, if applicable. If you use decimal justification, you set the Offset to allow display of digits to the right of the decimal point. | | **Offset** | Specify an indentation value for the list box item text, in dialog units. | | **Layout** | Indicates the orientation of the control. **Left to Right** maintains the original layout specified in the Window Designer. **Right to Left** essentially "flips" the controls' display as a mirror image of the layout specified in the Window Designer. Default field navigation moves from right to left. The setting in the Application Frame will cascade its setting to all child windows and controls that have the **default** setting active. | | **Picture** | The Picture field takes a display [[picture tokens.htm|picture token]] that specifies input format. You may press the ellipsis (...) button next to the field to pick a display picture from the **[[edit picture string dialog.htm|Edit Picture String]]** dialog.You may check the user entry against the picture at two points: as the user types the data in, or when the user closes the dialog box. Checking the data as the user types it incurs a slight performance penalty. To do so, check the **Entry Patterns **box in the **Window Properties **dialog for the window in which the entry box resides. This turns the [[mask set pattern editing data entry .htm|MASK]] attribute on for //all //controls in the window.If the MASK attribute is off, entry checking takes place when the user moves the focus to another control (for example, by TABBING to another field).If the user types in data in a format different from the picture, the program will attempt to determine the format, then convert it to match the picture (if no MASK was specified). For example, if the user types 'January 1, 1995' and the picture is @D1, the program formats the input to "1/1/95. If the program cannot determine the entry format, it will //not //update the USE variable. The user will receive an audible prompt (beep), and the focus will return to the entry control, ready for additional input. | | **TextFont** | Calls the [[select font dialog.htm|Font]] dialog which lets you select the font (typeface), size, style (such as bold or italic), color, and font effects (underline and strikeout) for the selected control or window. As you choose options, the dialog box displays a sample of the selected font. | | **Use** | This defines the [[use set field equate label or control update variable .htm|USE]] attribute for the control. Place a variable or field equate label in the **Use **field. You may specify a variable which receives the value that the user selects. Or, a field equate label which references the spin box in program statements. | **Help** | **Alert** | Press the ellipsis to open a dialog that lets you add the [[alrt set window hot keys .htm|ALRT]] attribute to a window or control. When the attribute is set, the window generates an EVENT:AlertKey if the user presses the key(s) you specify in this dialog, while the window has the focus. | | **Cursor** | The //Cursor// field (the [[cursor set mouse cursor type .htm|CURSOR]] attribute) lets you specify an alternate shape for the cursor when the user passes the cursor over the control. The drop-down list provides standard cursor choices such as I-Beam and Crosshair. To select an external cursor file (whose extension must be .CUR), choose **Select File **from the drop-down list, then pick the file using the standard file dialog. | | **Help ID** | The **Help ID **field (the [[hlp set on line help identifier .htm|HLP]] attribute) takes a string constant specifying the key for accessing a specific topic in the Help document. This may be either a Help keyword or a context string.A Help keyword is a word or phrase indexed so that the user may search for it in the //Help //**Search **dialog. When you fill in the HLP attribute for a button, if the entry box has focus, when the user presses F1, the help file opens to the referenced topic. If more than one topic matches a keyword, the search dialog appears.When referencing a context string in the **Help ID****// //**field, you must identify it with a leading tilde (~). | | **Key** | Press the desired key or key combination (for example, CTRL+H). The keys you pressed will appear in the **Key** field, and will be supplied as parameters to the KEY or ALRT attribute for this control. The ESC, ENTER, and TAB keys //cannot// be specified by pressing them. For these keys, press the ellipsis (...) button and type "esc," "enter," or "tab." | | **Message** | The **Message** field (the [[msg set status bar message .htm|MSG]] attribute) lets you specify text to display in the first zone of the status bar when the control has focus. | | **Tip** | The **[[tip set balloon help text .htm|TIP]]** attribute on a control specifies the text to display in a "balloon help" box when the mouse cursor pauses over the control. Although there is no specific limit on the number of characters, the //string// should not be longer than can be displayed on the screen. | **Mode** | **Disable** | Disables or 'grays-out' the control when your program initially displays it. The **Window Designer** places the [[disable set control dimmed at open .htm|DISABLE]] attribute on the control. Use the [[enable re activate dimmed control .htm|ENABLE]] statement to allow the user access to the control. | | **Hide** | Makes the control invisible at the time Windows would initially display it. Windows actually creates the control--it just doesn't display it on screen. The **Window Designer** places the [[hide set control hidden .htm|HIDE]] attribute on the control. Use the [[unhide show hidden control .htm|UNHIDE]] statement to display the control. | | **Skip** | Instructs the **Window Designer** to omit the control from the Tab Order. When the user TABS from field to field in the dialog box, Windows will not give the control focus. This is useful for seldom-used data fields. The **Window Designer** will place the [[skip set tab key skip or conditional print control .htm|SKIP]] attribute on the control. | | **Scroll** | Specifies whether the control should move with the window when the user scrolls the window. By default (False) the control does not move with the window. Set the **Scroll **property to False to create a control that stays fixed when the user scrolls the window. The **Window Designer** places the [[scroll set scrolling control .htm|SCROLL]] attribute on the control when checked. | | **Transparent** | Specify whether you wish the control background to be **Transparent**. This instructs Windows to suppress the rectangular region around the text--the background. Normally, Windows will paint this the same uniform color as the window below the control. This adds the [[trn set transparent control .htm|TRN]] attribute. | **Options** You may toggle the following options on or off independently. | **Flat** | Specifies a "flat" appearance (the spin control is on the same level as the window, and not recessed). | | **Immediate** | Specifies immediate event generation whenever the user presses any key. | | **Required** | Specifies that the control may not be left blank or zero. | | **Read Only** | Prevents data entry in this control. Use this to declare display-only data. | **Position** Lets you set the location and size of the control. The **Position **tab lets you specify the [[at set position and size .htm|AT]] attribute. Filling in the attribute manually is optional--you may set the position and size visually by dragging with the mouse in the **Window Designer**. To set the location of the control's** Top Left Corner**, set an **X** (horizontal) and **Y** (vertical) coordinate in [[what is a dialog unit.htm|Dialog units]]. The coordinate is relative to the top left corner of the structure containing it, that is, the window or the report band. To set the control's size, choose from the following options for **Width** and **Height**. | **Default** | The Clarion runtime library determines the size of the control based on the applicable font and picture token. | | **Full** | The control is the full height or width of the window or report. | | **Value** | Lets you set a precise width or height in [[what is a dialog unit.htm|Dialog units]] on a window, or in thousandths of inch, points, or millimeters on a report. | **ScrollBars** Set the appearance of the Spin control buttons by checking any combination of the two **Scroll Bar **boxes. | **Horizontal** | Set to True to produce larger buttons arranged side by side. | | **Vertical** | Set to True to produce smaller, vertically stacked buttons. | If both properties are set to True, the result is the same as **Horizontal**. If both properties are False, the result is similar to **Vertical**. **Quick Links** | | | | **Embeds** | Accesses the **[[gen72.htm|Embedded Source]]** dialog for points surrounding the event handling for this control only. |