A special checkbox control that can have 3 states - checked (set), unchecked (unset or cleared) or indeterminate (grayed).  Indeterminate is defined by your application and usually means that the state is both checked and unchecked.  Also see CONTROL ADD CHECK3STATE.




A keystroke or combination of keystrokes that acts as a hot-key or shortcut to perform some programmer-defined operation. When an accelerator is used, it usually results in a %WM_COMMAND or %WM_SYSCOMMAND message being sent to the dialog Callback Function. There are two forms of accelerator: command accelerators (such as indicated by an underscored character on control labels and menu items, for example "File"), and a keyboard accelerators, which are separately configurable through an accelerator table, such as the ACCEL ATTACH statement.




An encoded graphical image which may be stored in memory or a disk file. Typically uses the .BMP file extension. See Graphics for more information.




A special user-written function that receives messages from Windows when an event occurs, such as the user clicking on a button, typing on the keyboard, or drawing the dialog background "surface". Also see FUNCTION/END FUNCTION and Callbacks.


A rectangle at the top of a window or dialog. It provides space for the title or application name. A caption may be used to move the window with a mouse or other pointing device. In DDT, a dialog caption can be specified with the %WS_CAPTION style. See DIALOG NEW and DIALOG SET TEXT.


Insertion point indicating where the next character will be placed when a key is pressed. Typically, this is a flashing vertical bar.

Check State

The status of the "check box" portion of a CHECK3STATE, CHECKBOX, or OPTION button. When checked (or set), a CHECK3STATE and CHECKBOX contain an "X" in the box, and an OPTION button contains a solid dot in a circle. When unchecked (unset or cleared), the box/circle is empty. A CHECK3STATE control also offers an "indeterminate" state, where the box is shown grayed (indeterminate is defined by the application and usually represents both checked and unchecked).


A special control consisting of a label portion and a check box button. The check box portion indicates the Check State of the control, and is empty when the control is not selected (unchecked) and is set (checked or an "X" in the box) when selected. Also see CONTROL ADD CHECKBOX.

Child Window

A window or dialog that is confined to the client area of the parent window. If the parent window is the desktop, the child window can be placed anywhere on the screen.


Use the mouse to 'press' a button or control pointed at by the mouse pointer. When you press the left-mouse button a %BM_CLICK message is sent if the control is a button; otherwise, a %WM_LBUTTODOWN message is sent to the dialog or window callback procedure.

Client Area

Area inside a dialog box or window where controls are placed. Also see DIALOG GET CLIENT. Controls also have a client area, see CONTROL GET CLIENT.


Clipping is where output (text and/or graphics) is restricted to a specific region or area of the output device. For example, if the word "Hello" is 100 pixels wide, and is drawn within a region with 90 pixels of width, the right half of the last letter ("o") is not drawn.

Combo box

A combination of a text box and a drop down list box. It allows the user to select a pre-defined item in the list box, or optionally type a new value. See CONTROL ADD COMBOBOX.

Common Dialog

A dialog that is commonly used in many applications. Such as the File Open dialog, Print dialog, Font selection, and Color selection dialog.


A specialized window for obtaining user input, such as a button, a text box, a combo box, etc.

Control ID

Windows requires the programmer to assign a numeric identifier to each control to distinguish it from other controls in the dialog.


The location and size of a dialog or control . The 'x' coordinate refers to the horizontal location, where zero (0) is the left-most position on the screen. The 'y' coordinate refers to the vertical location, where zero (0) refers to the top-most position on the screen. On a screen that is 640 pixels wide by 480 pixels deep, the right-most position is 639 (0 to 639 is 640 total pixels) and the bottom-most position is 479.


Also known as the mouse pointer. Typically, it is shaped like an arrow and allows the user to "point" to an item on the screen.

Custom Control

A control that has been customized. For example, an oval button, a grid control, or an owner-draw control (such as a check-list box)



Default Button

A button that receives a %BM_CLICK message when the user presses the ENTER key while a dialog has the focus. This usually results in a %BN_CLICKED message being sent to the parent window. Adding the %BS_DEFPUSHBUTTON style to a button is the usual way to specify the default button for a dialog.


The desktop represents the user's primary work area; it fills the screen and forms the visual background for all operations. All visual output, including dialogs, is drawn on top of the desktop. The desktop region excludes the Taskbar. The desktop window handle is often referenced with %HWND_DESKTOP.

Device Context

A device context permits your application to draw or write text within a specified region of a window or dialog. All GDI drawing functions require a device context handle. Drawing on a device context should only occur during a %WM_PAINT event.


A window that contains child windows, called controls, that allow the user to enter text, choose options and so forth. Dialogs offer additional features over standard windows, for example, by automatically handling TAB, ENTER and ESCAPE key actions.

Dialog Units

Dialog box and control dimensions and coordinates are device-independent. Because a dialog box may be displayed on system displays that have widely varying pixel resolutions, dialog box dimensions are specified in system-character widths and heights instead of pixels.  

This helps to ensure the best possible appearance of characters in the dialog, and enables dialog boxes to appear with similar proportions and appearance on the screen, even when the resolution and aspect ratio can significantly vary.

The dialog box base units are computed from the height and width of the system font. As the display resolution is changed, Windows changes the system font size accordingly, thereby adjusting the dialog unit size proportionally to the resolution.  

By default, the actual font used in PowerBASIC's Dynamic Dialog Tools (DDT) dialogs is 8 point "MS Sans Serif". When designing your dialogs, it is a good idea to make controls slightly wider and taller than the text label size. This additional tolerance helps to ensure that the text is not clipped if the default dialog font is slightly larger in some resolutions. You can also use the DIALOG FONT statement to specify a custom default DDT font.  

You can convert between Dialog Units and Pixels with the built in DIALOG PIXELS and DIALOG UNITS statements.


Quickly pressing a mouse button twice. For example, to activate an icon on your desktop, such as "My Computer", you should "double-click" while the mouse cursor is over the icon.



Edit Control

A Text Box is often referred to as an Edit control. See CONTROL ADD TEXTBOX.



A dialog box, window, or control that is "enabled" can process messages from the keyboard and mouse. A dialog box, window, or control that is "disabled" cannot. See CONTROL ENABLE and CONTROL DISABLE.


A term used to describe an action, such as a button click. With PowerBASIC's DDT, events are processed inside of Callback Functions. Also see CB.MSG.


An event-driven application typically sits idle, waiting for the user to interact with it (i.e., press a key on the keyboard or click the mouse) which triggers an "event" inside of the application. See Callbacks.




At any given moment, only one window, dialog, or control can receive mouse-clicks and keystrokes. It control is then described as having "the focus". Controls are usually notified when they gain or lose focus; however, it should be noted that Windows does not explicitly guarantee that the control losing focus will receive its notification before the control that gains focus does. See CONTROL SET FOCUS.


A set of instructions for describing how Windows should draw text on video displays and other output devices. In Windows, a font is a collection of characters and symbols that share a common design.


A dialog window with child control on it.


An empty box, typically drawn around a group of controls in a dialog to show the user that they are somehow related. See CONTROL ADD FRAME.




A graphic control or window may be used to draw graphics and text. See CONTROL ADD GRAPHIC and GRAPHIC WINDOW.


The term group is also used describe the relationship of child controls in a dialog, such as with a "group" of radio buttons. A group of radio buttons is formed by the first control in the group having the %WS_GROUP style, and the first control after the group also having the %WS_GROUP style.




A 32-bit Long-integer (LONG) or Double-word (DWORD) variable containing a unique value for identifying a Windows object such as a window, control, bitmap, cursor, file, etc. See CONTROL HANDLE.


A common prefix used to describe a 32-bit handle to a control. See CB.CTL.


A common prefix used to describe a 32-bit handle to a dialog. hDlg may be a Long-integer or Double-word variable (i.e., hDlg& or hDlg???), but a Double-word variable is recommended. See CB.HNDL.


A common prefix used to describe a 32-bit handle to a Window.




A small picture used in Windows to represent an item such as a program or a minimized window. See DIALOG SET ICON.


Bitmaps and icons are often referred to as images.


An ImageList is a structure which contains any number of graphical images, either bitmaps or icons, but not a mixture.




A special window (control) that displays static text. Unlike buttons and other controls, the user cannot interact with a Label control. See CONTROL ADD LABEL.

List Box

A special window (control) that displays multiple text items. The user can choose one or more from the list using the mouse or keyboard. See CONTROL ADD LISTBOX.




A list of commands from which the user can select using the mouse or keyboard. When the user selects an item, Windows sends a message to the Callback Function to indicate the selection. See MENU NEW BAR and Menus.


Windows is a message-based operating system. Whenever an event occurs which may require a reaction from the application, a message is sent to the appropriate Callback Function for notification. It is up to the programmer to identify and respond to messages. A Message is often considered by programmers to be an Event. Also see CB.MSG and callbacks.

Message Pump

A message pump is a loop of code that retrieves messages from the message queue and sends them to the intended dialog or window callback. A message pump is mandatory for modeless dialog and modeless DDT applications. See DIALOG DOEVENTS.


A modal dialog box requires the user to respond to a request before the application continues. Typically, a modal dialog box is used when a chosen command needs additional information before it can proceed. The parent window is disabled while a modal dialog is displayed. See DIALOG SHOW MODAL.


A modeless dialog box allows the user to supply information to the dialog box and return to the previous task without canceling or removing the dialog box. This allows the user to work with more than one dialog box simultaneously. See DIALOG SHOW MODELESS.

Mouse Pointer

A mouse pointer is often referred to as a Cursor. See MOUSEPTR.



Option Button

A special button that is typically part of a group. Just like the push buttons on an automobile radio, only one maybe selected at a time. When one option button is checked (set) all other option buttons in the group are unchecked (unset or cleared). See CONTROL ADD OPTION.


An overlay is an image that is drawn transparently over another image.




A window that owns one or more child windows. A child control is always displayed within the confines of its parent window. A child window is not constrained in the same manner.


The smallest point or dot that can be displayed on the screen. A common screen resolution is 1024 pixels wide by 768 pixels high.


An application, including any DLLs loaded with the application. In Windows, each process is assigned its own address space, which cannot be directly read or written to by any other process.

Push Button

A Push Button is commonly referred to as a Command Button or Button.

Radio Button

A radio button is commonly referred to as an option button. See CONTROL ADD OPTION.




A central storage location that contains current information about the computer hardware and software configuration.


A collection of icons, menus, dialog boxes and other items embedded into a DLL or EXE for use by an application. See #RESOURCE and resource files.



Scroll bar

An element of the Windows user interface that converts mouse or keyboard input into values that a window procedure can use to shift the contents of a window's client area horizontally or vertically. Also used to display current location in a window relative to the size of the object displayed, by setting the size and position of the 'Thumb'. Scroll bar controls send %WM_HSCROLL and %WM_VSCROLL messages. See CONTROL ADD SCROLLBAR.

Static control

A static control is often referred to as a Label. See CONTROL ADD LABEL.


A bit-mask describing how Windows should draw a window, dialog box, or control.


A window or set of windows that belong to the same window class, and whose messages are intercepted and processed by another window procedure before being passed to the class window procedure. This allows the programmer to change the default behavior of a window or control (such as drawing a button as round instead of a rectangle).

System Menu

A box at the left end of a caption activates a pop-up menu that contains the system commands (such as Close, Minimize, Maximize, Move, etc.).



Tab order

The order in which controls are activated (receive the focus) when the TAB key is pressed.

Text box

A special window (child control) that allows the user to type in text from the keyboard. See CONTROL ADD TEXTBOX.


A bar containing a row of buttons or other controls. They act as short-cuts for common operations, and usually appear just below the menu bar at the top of an window or dialog.



Win32 API

Win32 API The 32-bit Windows Application Programming Interface. A set of special DLLs included with Windows 95/98/ME and NT/2000/XP that contain pre-defined Subs and Functions your program can access. These Subs and Functions make up Windows itself and allow both the operating system and applications to draw on the screen, access devices like keyboards and a mouse, print to printers, provide networking and more.


A basic "on-screen" box used to contain and display information. It is the basis for all programs in the Windows operating system. Dialog boxes and the Child controls contained within are all windows in their own right.

Window Class

A set of attributes that defines how a window looks and behaves. Before an application can create and use a window, a window class must have first been created and registered for that window. Windows includes a number of built-in window classes, such as "BUTTON", "STATIC", "EDIT", and others. A custom control will have its own unique window class name.




The order that Windows draws each window and dialog on the screen. A window or dialog at the bottom of the z-order is drawn first. The next window is drawn on top, and the next on top of that, etc., until all windows and dialogs have been drawn on the screen. A window at the top of the z-order is displayed above all other windows.