Purpose |
Create a new dialog in memory, ready for display. |
Syntax |
DIALOG NEW [PIXELS, | UNITS,] hParent,
title$, [x&],
[y&], xx&,
yy& [, [style&]
[, [exstyle&]]] [,] TO hDlg |
Remarks |
A new empty dialog is created, but not yet displayed. Once the dialog
has been created and all of the desired controls have been added with
CONTROL ADD statements,
the dialog can be displayed with the DIALOG SHOW MODELESS,
or DIALOG SHOW MODAL statements.
If a
dialog is created, the application must create a DIALOG DOEVENTS
for the duration of the dialog. Failure to provide a message pump can
result in disruptions to the display of the dialog, or the inability of
the dialog to respond to
such as button clicks, etc.
dialogs do not require a message pump.
To change the displayed state of a dialog (i.e., hidden, minimized,
etc) after the dialog has been created, use the DIALOG SHOW STATE
statement.
If a dialog does not have either %WS_CHILD or %WS_POPUP styles,
Windows may enforce a minimum dialog width of some 60-70 . |
PIXELS |
If the PIXELS keyword is specified, all size and position parameters
are specified in pixels. In this case, related statements such as DIALOG
GET LOC will also return values in Pixels. |
UNITS |
If UNITS is specified (or no scaling option is specified), all size
and position parameters are specified in Dialog Units. (default) |
|
DIALOG NEW takes the following parameters. |
hParent |
of the
window or dialog. If there is no parent, use zero (0) or %HWND_DESKTOP.
If the dialog is MODAL, the parent window/dialog will be disabled while
this "child" dialog is running. |
title$ |
The text displayed in the title or
bar of the dialog. |
x&, y& |
Optional location of the top-left corner for the dialog, in dialog units.
If neither x& and y&
are specified, the dialog is centered on the screen.
If %CW_USEDEFAULT (&H080000000) is specified, the default Windows
position is used (cascading from the upper-left corner). |
xx&, yy& |
The width and height of the dialog, specified in dialog units.
If the default dialog style (or any other dialog style that includes
the %WS_CAPTION style) is used, the width and height parameters specify
the
only, and this does not include any caption and border dimensions.
If the style does not include
%WS_CAPTION, the width and height specify the overall dialog size, including
the caption and border, if any.
Note that %WS_CAPTION is a combination of the %WS_BORDER and %WS_DLGFRAME
styles. The default dialog style includes %WS_BORDER and %WS_DLGFRAME
styles, so it implicitly includes the %WS_CAPTION style. |
style& |
An optional bitmask describing how the dialog should be displayed. default
style of &H084C000D4& is made up %DS_3DLOOK, %DS_SETFONT, %DS_MODALFRAME,
%DS_NOFAILCREATE, %WS_BORDER, %WS_CLIPSIBLINGS, %WS_DLGFRAME and %WS_POPUP.
used if parameter omitted from statement completely. For example:
DIALOG NEW 0, "Dialog Title",,, 100, 200,,
TO hDlg
Custom style values replace the default values. That is, they are not
additional to the default style values - your code must specify all necessary
style parameters (with the exception of %DS_NOFAILCREATE, %DS_SETFONT
and %DS_3DLOOK, which are automatically added into the style&
parameter by PowerBASIC).
This also applies to the extended styles parameter - if your code specifies
a custom primary style, the default extended style will no longer be in
effect either. In this case, an explicit extended style may also need
to be added to the DIALOG NEW statement if an explicit primary style is
specified.
The primary style& value
can be a combination of any values below, combined together with the OR operator to form a bitmask:
%DS_3DLOOK Give the dialog box a non-bold font, and draw three-dimensional
borders around controls in the dialog box. The %DS_3DLOOK style is not
required by applications marked with #OPTION VERSION4
or #OPTION VERSION5; as Windows
automatically applies the 3D appearance. DDT dialogs are always created
with this style. (default)
%DS_3DLOOK
|
Give the dialog box a non-bold
font, and draw three-dimensional borders
around controls in the dialog box. The
%DS_3DLOOK style is not required by applications marked with #OPTION VERSION4
or #OPTION VERSION5; as Windows
automatically applies the 3D appearance. DDT dialogs
are always created with this style. (default) |
%DS_ABSALIGN |
Indicate that the coordinates
of the dialog box are screen coordinates; otherwise, Windows assumes they
are client coordinates. |
%DS_CENTER |
Center the dialog box in
the working area (the area not obscured by the task bar and system tray).
This is the default if x&
and y& are not specified. |
%DS_CENTERMOUSE |
Center the mouse cursor
in the dialog box when the dialog is initially created. |
%DS_CONTEXTHELP |
Include a question mark
in the title bar of the dialog box. When the user clicks the question
mark, the cursor changes to a question mark with a pointer. If the user
then clicks a control in the dialog box, the dialog callback receives
a %WM_HELP message. This style cannot be used with the %WS_MAXIMIZEBOX
and %WS_MINIMIZEBOX styles. Also see %WS_EX_CONTEXTHELP. |
%DS_CONTROL |
Create a dialog that works
as a child control of another dialog, smoothing the keyboard focus interface
across the two dialogs when the TAB key or control accelerators are used.
Typically used for dialogs that form the "pages" for tab controls
and property-sheets. |
%DS_MODALFRAME |
Create a dialog box with
a modal dialog-box frame that can be combined with a title bar and System
menu by specifying the %WS_CAPTION and %WS_SYSMENU styles. (default) |
%DS_NOFAILCREATE |
The dialog is created regardless
of any errors that may occur during the creation phase. DDT dialogs are
always created with this style. (default) |
%DS_SETFONT |
The font to be used by
a DDT dialog and its controls can be predetermined with the DIALOG
FONT statement. If the DIALOG FONT statement is not used, the default
font (MS Sans Serif, 8 point) is used. The size of the dialog font proportionately
affects the conversion of dialog units values into pixels, so an increase
in default font size will automatically create a larger dialog, even through
the dialog dimensions have remained constant. As child controls are added
to a %DS_SETFONT dialog, they will be sent a %WM_SETFONT message to ensure
they also make use of the specified dialog font. DDT dialogs are always
created with this style. (default) |
%DS_SETFOREGROUND |
Bring the dialog box to
the foreground. Internally, Windows calls the SetForegroundWindow API
function for the dialog box. |
%DS_SYSMODAL |
Create a system-modal dialog
box. This style causes the dialog box to have the %WS_EX_TOPMOST style,
but otherwise has no effect on the dialog box or the behavior of other
applications and windows when the dialog box is displayed. |
%WS_BORDER |
Create a dialog that has
a thin-line border. |
%WS_CAPTION |
Create a dialog that has
a title bar. Includes the %WS_BORDER and %WS_DLGFRAME styles. When this
style is used, the width&
and height& parameters specify
the size of the client area of the dialog; otherwise, they specify the
outer dimensions of the dialog. (default) |
%WS_CHILD |
Create a child dialog.
Cannot be used with the %WS_POPUP style. Typically used with %DS_CONTROL
for tab control and property sheet "pages". |
%WS_CLIPCHILDREN |
Exclude the area occupied
by child controls when drawing occurs on the dialog background. FRAME
and LINE controls on a dialog with this style usually use the extended
style %WS_EX_TRANSPARENT so the background of those controls is drawn
by the dialog before the controls are drawn. %WS_CLIPCHILDREN is commonly
used to reduce redraw flicker when a %WS_THICKFRAME style dialog is being
resized. |
%WS_CLIPSIBLINGS |
Child controls are clipped
(not overdrawn) by one another when the dialog window is repainted. (default) |
%WS_DISABLED |
Create a dialog that is
initially disabled. A disabled dialog cannot receive input from the user. |
%WS_DLGFRAME |
Create a window that has
a border of the style typically used with dialog boxes. (default) |
%WS_HSCROLL |
Dialog contains a horizontal
scroll bar. |
%WS_ICONIC |
Create a dialog that is
initially minimized, the same as the %WS_MINIMIZE style. |
%WS_MAXIMIZE |
Create a dialog that is
initially maximized. |
%WS_MAXIMIZEBOX |
Create a dialog that has
a Maximize button. Use with the %WS_SYSMENU style. |
%WS_MINIMIZE |
Create a dialog that is
initially minimized, the same as the %WS_ICONIC style. |
%WS_MINIMIZEBOX |
Create a dialog that has
a Minimize button. Use with the %WS_SYSMENU style. |
%WS_OVERLAPPED |
Create an overlapped window.
An overlapped window has a title bar (caption) and a border. Synonym of
the obsolete style %WS_TILED. |
%WS_OVERLAPPEDWINDOW |
Combination style producing
an overlapping dialog. Comprises %WS_CAPTION, %WS_SYSMENU, %WS_THICKFRAME,
%WS_MINIMIZEBOX, %WS_MAXIMIZEBOX, and %WS_OVERLAPPED styles. |
%WS_POPUP |
Create a popup dialog.
When used by itself, a flat dialog is created with no caption or borders.
Combine with %DS_MODALFRAME to create a 3D border. A popup dialog can
overlap another window or dialog. (default) |
%WS_POPUPWINDOW |
Create a popup dialog but
with a border and system menu. Comprises %WS_BORDER, %WS_POPUP and %WS_SYSMENU.
Combine %WS_POPUPWINDOW with %WS_CAPTION to make the Window menu visible. |
%WS_SYSMENU |
Create a dialog that has
a System-menu box in its title bar. Must be used with the %WS_CAPTION
style. |
%WS_THICKFRAME |
Create a dialog that has
a sizing border. That is, the dialog will be resizable. |
%WS_VSCROLL |
Dialog contains a vertical
scroll bar. Also see %WS_EX_LEFTSCROLLBAR. |
|
exstyle& |
An optional extended style bitmask describing how the dialog should
be displayed. The default extended dialog style comprises %WS_EX_LEFT
with %WS_EX_LTRREADING and %WS_EX_RIGHTSCROLLBAR. The default extended
style is used only if there are no explicit primary or extended styles
parameters in the DIALOG NEW statement.
An explicit extended style value can be a combination of any values
below, combined together with the OR operator to form a bitmask:
%WS_EX_ACCEPTFILES |
The dialog accepts drag+drop
files. The dialog Callback Function receives a %WM_DROPFILES message when
files have been dropped onto the dialog. |
%WS_EX_APPWINDOW |
Force a top-level dialog
onto the application taskbar when the window is minimized. |
%WS_EX_CLIENTEDGE |
Dialog has a border with
a sunken edge. |
%WS_EX_CONTEXTHELP |
Include a question mark
in the title bar of the dialog. When the user clicks the question mark,
the cursor changes to a question mark with a pointer. If the user then
clicks a child window, the child receives a %WM_HELP message. Also see
%DS_CONTEXTHELP. |
%WS_EX_CONTROLPARENT |
The user may navigate among
the child dialogs of the window by using the TAB key. See %DS_CONTROL. |
%WS_EX_LEFT |
Dialog has generic "left-aligned"
properties. (default) |
%WS_EX_LEFTSCROLLBAR |
If present, the vertical
scroll bar is positioned to the left of the client area. Also see %WS_VSCROLL. |
%WS_EX_LTRREADING |
Display the dialog text
using Left to Right reading-order properties. (default) |
%WS_EX_MDICHILD |
Create a MDI child window. |
%WS_EX_NOPARENTNOTIFY |
Suppress %WM_PARENTNOTIFY
messages when dialog is created or destroyed. |
%WS_EX_OVERLAPPEDWINDOW |
Comprised of the %WS_EX_CLIENTEDGE
and %WS_EX_WINDOWEDGE styles. |
%WS_EX_PALETTEWINDOW |
Comprised of the %WS_EX_WINDOWEDGE,
%WS_EX_TOOLWINDOW and %WS_EX_TOPMOST styles. |
%WS_EX_RIGHT |
Dialog has generic "right-aligned"
properties that depend on the window class. This style has an effect only
if the shell language is Hebrew, Arabic, or another language that supports
reading order alignment. Otherwise, the style is ignored. |
%WS_EX_RIGHTSCROLLBAR |
If present, the vertical
scroll bar is positioned to the right of the client area. See %WS_VSCROLL.
(default) |
%WS_EX_RTLREADING |
If the shell language is
Hebrew, Arabic, or another language that supports reading order alignment,
the dialog text is displayed using Right to Left reading-order properties.
For other languages, the style is ignored. |
%WS_EX_STATICEDGE |
Dialog has a 3D border.
Primarily used for dialogs that do not require user-input. |
%WS_EX_TOOLWINDOW |
Create a tool window (a
window intended to be used as a floating toolbar). A tool window has a
shorter than normal caption area and the dialog caption is drawn using
a smaller font. A tool window does not appear in the task bar, or in the
window that appears when the user presses ALT+TAB. The hybrid versions
of Windows (95/98/ME) may require this extended style to be added after
creation, using the SetWindowLong API function. |
%WS_EX_TOPMOST |
Place dialog above all
non-topmost windows and keep it above them, even while the dialog is deactivated. |
%WS_EX_TRANSPARENT |
Controls/windows beneath
the dialog are drawn before the dialog is drawn. The dialog is deemed
transparent because elements behind the dialog have already been painted
- the dialog itself is not drawn differently. True transparency is achieved
by using Regions - see MSDN for
more information. |
%WS_EX_WINDOWEDGE |
Dialog has a border with
a raised edge. |
|
hDlg |
Long-integer Variable where the
Windows window handle of the dialog is stored after it has been created
and assigned by Windows. This handle should be used with subsequent
DIALOG and
CONTROL statements,
and may be directly used with Windows API calls.
If the dialog could not be created (i.e., due to low Windows resources),
zero is returned. |
See also |
Dynamic Dialog Tools,
CONTROL ADD, DIALOG DOEVENTS,
DIALOG END, DIALOG SET COLOR,
DIALOG SHOW MODAL, DIALOG SHOW MODELESS,
DIALOG SHOW STATE |