| **Navigation:**  Window Designer >====== Window Properties ====== | [[window previewer configuration.htm|{{btn_prev_n.gif|Previous page}}]][[coming future.htm|{{btn_home_n.gif|Return to chapter overview}}]][[classes tab.htm|{{btn_next_n.gif|Next page}}]] | | || This dialog lets you specify the appearance and functionality of your window. **See Also:** [[how to customize your window.htm|How to Customize Your Window]] **Color** Enter a valid color equate in the **TextColor**, **Background**, **SelBackground**, or **SelForeground** fields, 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 window 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. **Custom Color dialog** For each property that requires a color attribute, there is a drop list that displays a variety of default colors to select from. However, if you need to choose a custom color, select the Custom tab, and RIGHT-CLICK on any color element in the bottom two rows of this dialog. **Design** Design options control the cosmetic settings in the Designer. | **DrawGrid** | Set to True to display the design grid, or set to False to turn it off. | | **GridSize** | Grid values are specified in dialog units, a unit of measure based on the current system font. Enter the horizontal and vertical grid size, separated by commas. **Width** is the horizontal distance between the grid dots (x axis). This is the minimum horizontal distance you can move a control when grid snap is on. **Height** is the vertical distance between the grid dots (y axis). This is the minimum vertical distance you can move a control when grid snap is on. | | **Locked** | "Freezes" all the controls on the window 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]]**. | | **SnapToGrid** | Set to True to turn grid snap on; set to False to turn it off. Grid snap displays a dot grid of valid positioning coordinates and forces the upper left corner of new controls to align with the dot grid. The end user does not see the grid at run time; it is a design tool only. | **Extra** | **Drop ID** | 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. | | **Icon** | To associate an icon with the window, allowing it to be minimized, specify an icon in this field. You may type in a file name or an EQUATE. You may also press the ellipsis button (...), then select an icon file name using the standard **Open File **dialog. The file name or equate you specify becomes the parameter for the [[icon set icon .htm|ICON]] attribute.You should always specify an icon for an application window, and for an MDI child window. Specifying an icon name automatically places a minimize button on the caption bar of your application or MDI child window. | | **Palette** | Use the PALETTE attribute to specify maximum color depth. The PALETTE attribute specifies how many colors you want this window to use when it is the foreground window. For example, 24-bit color would be 16777215. The number you specify becomes the parameter for the [[palette set number of hardware colors .htm|PALETTE]] attribute. Leave this field blank to specify the default for the end user's system. | | **Statusbar-Status** | To provide a message bar at the bottom of your window, set the **Status **property to True. This adds the [[status set status bar .htm|STATUS]] attribute to the window.{{notebox.jpg|NoteBox.jpg}}A status bar in an application window is an excellent way to increase user feedback in your application. Clarion makes it simple to post messages on the status bar advising the user of what your application is doing as it does it. Increasing user feedback makes the user feel more in control. This allows the user to feel more confident and be more efficient when using your application. | | **Widths** | To set the width of the status bar zone(s), type a value or list of values in the **Status Widths **field. You must also check the **Status Bar **box in the top part of the dialog to display a status bar.The values you enter in this field fill the [[status set status bar .htm|STATUS]] attribute parameters. For example, To create a two part status bar with a width of 100 in the right status section and default width in the left section enter the values '-1,100'The zones are the areas within the status bar marked off by the 3D shaded boxes. The first zone on the left, by default, displays MSG attribute text. This is useful for specifying short help instructions or other information to the user. If your application has only one zone for the status bar, you may omit this field. For more than one zone, enter a series of comma separated values. The default measurement unit is dialog units.You may set a minimum value for a zone width by typing a negative number. This creates a zone with a minimum width, but is expandable by resizing the window. Use the runtime property assignment syntax to place text in any zone. To place a string constant in the second zone, for example:{PROP:StatusText,2} = 'Record will be Added'{{tipbox.jpg|TipBox.jpg}}A multi-zone status bar can give your application a professional look. You may display help text in zone one, and when editing a record, the current record number in zone two, for example. | | **Timer** | To have the window receive Timer Event messages from Windows, fill in the **Timer **field. Specify the timer interval in hundredths of seconds. The value you specify becomes the parameter for the [[timer set periodic event .htm|TIMER]] attribute.For example, if you specify 100 in the field, the window will automatically receive an EVENT:Timer once every second (100/100's seconds). This might be appropriate for adding a clock to a status bar. | **General** | **Frame Type** | To choose the frame for your window, pick a selection from the **Frame Type **drop-down list. The frame defines the borders of the window. Choose from: | | | **Single** - a single pixel frame which the user cannot resize. Most suitable for dialog boxes. | | | **Double** - a thick frame, which the user cannot resize. Use this type frame for a system modal window with no caption bar, or for a modal dialog box with a caption bar. This adds the [[double noframe resize set window border .htm|DOUBLE]] attribute to the window. | | | **Resizeable** - a thick frame, which the user can resize. Choose this for application and MDI child windows. This adds the [[double noframe resize set window border .htm|RESIZE]] attribute to the window. | | **Initial Size** | Sets the initial state of your window. Choose from: | | | **Normal:**- displays the window at the default size which either you specifically set, or Windows sets if you don't. | | | **Maximized**: - the window fills the desktop, if an application window, or the window frame, if an MDI child window. This adds the [[max set maximize control or total maximum .htm|MAXIMIZE]] attribute to the window. | | | **Iconized**: - the window appears in iconized state--as a 32 by 32 pixel window at the bottom of the desktop, for an application window, or at the inside bottom of the application frame, for an MDI child window. This adds the [[iconize set window open as icon .htm|ICONIZE]] attribute to the window. | | **Label** | This names the specific WINDOW in the source code. The label may contain upper or lower case letters, numerals, the underscore character or a colon. Space characters are forbidden. The first character must be a letter or the underscore character. Clarion reserved words may not serve as labels. | | **Layout** | Indicates the orientation of window controls and field sequence.**Left to Right** maintains the original layout specified in the Window Designer.**Default** field navigation moves from left to right.**Right to Left** essentially "flips" the window 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 window that have the **Default** setting active. | | **TextFont** | Calls the **[[select font dialog.htm|Select 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. | | **Title** | To specify caption bar text, type a string constant in the **Title **field. The caption bar holds the name of the window. | | | {{tipbox.jpg|TipBox.jpg}}You may dynamically alter the caption bar text at run-time. See [[prop text.htm|PROP:Text]] in the Language Reference. | | **Wallpaper-BackgroundImage** | To provide a background image for the window's client area, specify an image filename. Type the filename or press the ellipsis button (...) to select a file. See [[wallpaper set background image .htm|WALLPAPER]] in the //Language Reference//. | | **Mode** | Specify how the window displays the background image. Choose from: | | //Stretched// | The image expands to fill the entire client area. | | //Centered// | The image displays at its default size and is centered in the window's client area. | | //Tiled// | The image displays at its default size and is repeated so it fills the entire client area. | **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 (~). | | **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. | **Misc** | **IsSuppress Transparency**{{stbut.jpg|STBut.jpg}} | Allows the proper display of special static parent controls when populated "on top of" multiple tab controls. This property is set to TRUE by default, and ensures a proper display regardless of Visual Styles used. No effect on runtime window. | **Options:** | **AutoDisplay** | To add the [[auto set use variable automatic re display .htm|AUTO]] attribute to your window, set the **AutoDisplay **property to True. This automatically updates the contents of all controls on screen through each pass of the ACCEPT loop. | | **Docking** | The options in the **Dock** property group are enabled only if you have set the **Toolbox** property to True. Click on a location to specify the area that the window is allowed to be docked to within the application frame.The **InitialState** property drop list is used to specify where you would like the window to first appear. | | **EntryPattern** | To// //enable support for an entry mask for controls in the window, set **EntryPattern **to True. This lets you specify key-in entry patterns for the fields you choose, and adds the [[mask set pattern editing data entry .htm|MASK]] attribute to the window. | | **Gray** | To provide the gray window background, chiseled control look// //for your application, set the **Gray** property to True. This is clearly a style consideration, but will go a long way in giving your application a professional look. This adds the [[gray set 3 d look background .htm|GRAY]] attribute to the window.The gray background is not visible when you design your window with the **Window Designer**. It is, however, visible in test mode, and when your application runs. | | **Immediate** | To generate a message event each time the end user moves or resizes the window, set the **Immediate **property to True. This adds the [[imm set immediate event notification .htm|IMM]] attribute to the window. You are responsible for the code that executes upon notification of the event. | | **MaximizeBox** | To place a maximize button in your window, set the **MaximizeBox **property to True. In general, you should place a maximize button only on application windows and MDI child document windows. This adds the [[max set maximize control or total maximum .htm|MAX]] attribute to the window. | | **MDIChild** | To add the [[mdi set mdi child window .htm|MDI]] attribute to your window, set the **MDIChild** property to True. An MDI child window cannot move outside the main application window. A typical use of an MDI window might be to present a different arrangement of the data in your application's database. | | **ModalWindow** | To specify a system modal window, set the **ModalWindow **property to True. A system modal window prevents all other tasks--even in applications other than your own--from executing until the window is closed. This adds the [[modal set system modal window .htm|MODAL]] attribute to the window. | | **SystemMenu** | To place a system menu in your window, set the **SystemMenu** property to True. Most windows should have a system menu. For users on a system without a mouse, the system menu provides the only means of minimizing, maximizing or re-sizing the window. This adds the [[system set system menu .htm|SYSTEM]] attribute to the window. | {{tipbox.jpg|TipBox.jpg}} Even if you plan that the window should NOT have a system menu when the application is complete, it's good practice to place a system menu on your application while it's under development. By DOUBLE-CLICKING the system menu, or choosing Close, you can close your application should your normal exit procedure fail. | **Toolbox** | To add the [[toolbox set toolbox window behavior .htm|TOOLBOX]] attribute to your window, set the **Toolbox **property to True. This makes your window always stay on top. **See Also:** [[dock set dockable toolbox window .htm|DOCK]] | **Position** Lets you set the location and size of a window. 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 size visually by dragging with the mouse in the **Window Designer**. To set the location of the window's** Top Left Corner**, choose from the following options for the **X** (horizontal) and **Y** (vertical) coordinates. | **Center** | Centers an APPLICATION window on the screen. Centers child windows on their respective parents. | | **Default** | The Windows operating system determines the initial position of the window. By default, Windows position windows in a cascading sequence from top-left to bottom-right. | | **Value** | Lets you set a precise coordinate in [[what is a dialog unit.htm|Dialog units]]. Generally, the coordinate is relative to the top left corner of the screen for APPLICATION (first or main) windows and relative to the top left corner of the APPLICATION window for all subsequent (child) windows. | {{tipbox.jpg|TipBox.jpg}} To give your application the "standard" look of other Windows applications, where possible specify the //Default //setting for any windows with resizable frames. To set the window's size, choose from the following options for the **Width** and **Height**. | **Default** | The Windows operating system determines the initial size of the window. | | **Value** | Lets you set a precise width or height in [[what is a dialog unit.htm|Dialog units]]. Dialog units provide a relative screen measure based on the system font character size. | {{tipbox.jpg|TipBox.jpg}} Sizing all windows and controls in dialog units lets you design a screen at one resolution, and expect it to look similar at another--in theory. In practice, there can be differences, especially when you display bitmaps in Image controls. Therefore, test your applications in the popular Windows resolutions. The most popular are 640 x 480, 800 x 600, and 1024 x 768 pixels. **Scrollbars** These options add the [[hscroll vscroll hvscroll set scroll bars .htm|HSCROLL, VSCROLL, and HVSCROLL]] attributes to the window. | **Horizontal** | To add a horizontal scroll bar to your window, set the **Horizontal **property to True. Scroll bars only appear when something inside the window--a control--is bigger than the window. | | **Vertical** | To add a vertical scroll bar to your window, set the **Vertical **property to True. | **Quick Links** | **Actions** | Accesses the [[procedurepropertieswindow.htm|Actions]] dialog for this procedure. | | **Embeds** | Accesses the **[[gen72.htm|Embedded Source]]** dialog for points surrounding the event handling for this procedure. |