Newsgroup: it.comp.lang.visual-basic
Titolo: [API] CreateWindowEx

Sulla rivista Vb Journal di gen-feb ho letto l'esempio dell'HootKeys di
Windows.
Usa la CreateWindowEx per utilizzare l'oggetto HooteKey di Windows.
la mia domanda era: il secondo parametro indica che tipo di finestra
vogliamo creare. In quel caso passando "msctls_hotkey32" viene create la
finestra di Windows per impostare gli Hootkey (miii quante volte ho detto
sta parola....).
Dove posso trovare tutti gli altri parametri da poter passare?
Non so ci sarà un "msctls_Print32" oppure un "msctls_Color32".
Ho provato a spulciare in msdn ma ho trovato poco.
Ciao e grazie a tutti
Oz

Dovrai sciropparti un po di inglese ma questo è quello che ho.
In fondo troverai anche un esempio
bye
Declaration: Declare Function CreateWindowEx Lib "user32" Alias
"CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String,
ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal
y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As
Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Description: The CreateWindowEx function creates an overlapped, pop-up, or
child window with an extended style; otherwise, this function is identical
to the CreateWindow function.
Parameter Info:
· dwExStyle
Specifies the extended style of the window. This parameter can be one of the
following values:
WS_EX_ACCEPTFILES
Specifies that a window created with this style accepts drag-drop files.
WS_EX_APPWINDOW
Forces a top-level window onto the taskbar when the window is minimized.
WS_EX_CLIENTEDGE
Specifies that a window has a border with a sunken edge.
WS_EX_CONTEXTHELP
Includes a question mark in the title bar of the window. 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. The child window should pass the message to the parent
window procedure, which should call the WinHelp function using the
HELP_WM_HELP command. The Help application displays a pop-up window that
typically contains help for the child window.
WS_EX_CONTEXTHELP cannot be used with the WS_MAXIMIZEBOX or WS_MINIMIZEBOX
styles.
WS_EX_CONTROLPARENT
Allows the user to navigate among the child windows of the window by using
the TAB key.
WS_EX_DLGMODALFRAME
Creates a window that has a double border; the window can, optionally, be
created with a title bar by specifying the WS_CAPTION style in the dwStyle
parameter.
WS_EX_LEFT
Window has generic "left-aligned" properties. This is the default.
WS_EX_LEFTSCROLLBAR
If the shell language is Hebrew, Arabic, or another language that supports
reading order alignment, the vertical scroll bar (if present) is to the left
of the client area. For other languages, the style is ignored and not
treated as an error.
WS_EX_LTRREADING
The window text is displayed using Left to Right reading-order properties.
This is the default.
WS_EX_MDICHILD
Creates an MDI child window.
WS_EX_NOPARENTNOTIFY
Specifies that a child window created with this style does not send the
WM_PARENTNOTIFY message to its parent window when it is created or
destroyed.
WS_EX_OVERLAPPEDWINDOW
Combines the WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles.
WS_EX_PALETTEWINDOW
Combines the WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles.
WS_EX_RIGHT
Window has generic "right-aligned" properties. This depends 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 and not treated as an error.
WS_EX_RIGHTSCROLLBAR
Vertical scroll bar (if present) is to the right of the client area. This is
the default.
WS_EX_RTLREADING
If the shell language is Hebrew, Arabic, or another language that supports
reading order alignment, the window text is displayed using Right to Left
reading-order properties. For other languages, the style is ignored and not
treated as an error.
WS_EX_STATICEDGE
Creates a window with a three-dimensional border style intended to be used
for items that do not accept user input.
WS_EX_TOOLWINDOW
Creates a tool window; that is, a window intended to be used as a floating
toolbar. A tool window has a title bar that is shorter than a normal title
bar, and the window title is drawn using a smaller font. A tool window does
not appear in the taskbar or in the dialog that appears when the user
presses ALT+TAB. If a tool window has a system menu, its icon is not
displayed on the title bar. However, you can display the system menu by
right-clicking or by typing ALT+SPACE.
WS_EX_TOPMOST
Specifies that a window created with this style should be placed above all
non-topmost windows and should stay above them, even when the window is
deactivated. To add or remove this style, use the SetWindowPos function.
WS_EX_TRANSPARENT
Specifies that a window created with this style is to be transparent. That
is, any windows that are beneath the window are not obscured by the window.
A window created with this style receives WM_PAINT messages only after all
sibling windows beneath it have been updated.
WS_EX_WINDOWEDGE
Specifies that a window has a border with a raised edge.
Using the WS_EX_RIGHT style for static or edit controls has the same effect
as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with
button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON
styles.
· lpClassName
Points to a null-terminated string or is an integer atom. If lpClassName is
an atom, it must be a global atom created by a previous call to
GlobalAddAtom. The atom, a 16-bit value less than 0xC000, must be in the
low-order word of lpClassName; the high-order word must be zero.
If lpClassName is a string, it specifies the window class name. The class
name can be any name registered with the RegisterClass function or any of
the predefined control-class names.
· lpWindowName
Points to a null-terminated string that specifies the window name.
· dwStyle
Specifies the style of the window being created.
The following window styles can be specified in the dwStyle parameter:
WS_BORDER
Creates a window that has a thin-line border.
WS_CAPTION
Creates a window that has a title bar (includes the WS_BORDER style).
WS_CHILD
Creates a child window. This style cannot be used with the WS_POPUP style.
WS_CHILDWINDOW
Same as the WS_CHILD style.
WS_CLIPCHILDREN
Excludes the area occupied by child windows when drawing occurs within the
parent window. This style is used when creating the parent window.
WS_CLIPSIBLINGS
Clips child windows relative to each other; that is, when a particular child
window receives a WM_PAINT message, the WS_CLIPSIBLINGS style clips all
other overlapping child windows out of the region of the child window to be
updated. If WS_CLIPSIBLINGS is not specified and child windows overlap, it
is possible, when drawing within the client area of a child window, to draw
within the client area of a neighboring child window.
WS_DISABLED
Creates a window that is initially disabled. A disabled window cannot
receive input from the user.
WS_DLGFRAME
Creates a window that has a border of a style typically used with dialog
boxes. A window with this style cannot have a title bar.
WS_GROUP
Specifies the first control of a group of controls. The group consists of
this first control and all controls defined after it, up to the next control
with the WS_GROUP style. The first control in each group usually has the
WS_TABSTOP style so that the user can move from group to group. The user can
subsequently change the keyboard focus from one control in the group to the
next control in the group by using the direction keys.
WS_HSCROLL
Creates a window that has a horizontal scroll bar.
WS_ICONIC
Creates a window that is initially minimized. Same as the WS_MINIMIZE style.
WS_MAXIMIZE
Creates a window that is initially maximized.
WS_MAXIMIZEBOX
Creates a window that has a Maximize button. Cannot be combined with the
WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
WS_MINIMIZE
Creates a window that is initially minimized. Same as the WS_ICONIC style.
WS_MINIMIZEBOX
Creates a window that has a Minimize button. Cannot be combined with the
WS_EX_CONTEXTHELP style. The WS_SYSMENU style must also be specified.
WS_OVERLAPPED
Creates an overlapped window. An overlapped window has a title bar and a
border. Same as the WS_TILED style.
WS_OVERLAPPEDWINDOW
Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU,
WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the
WS_TILEDWINDOW style.
WS_POPUP
Creates a pop-up window. This style cannot be used with the WS_CHILD style.
WS_POPUPWINDOW
Creates a pop-up window with WS_BORDER, WS_POPUP, and WS_SYSMENU styles. The
WS_CAPTION and WS_POPUPWINDOW styles must be combined to make the window
menu visible.
WS_SIZEBOX
Creates a window that has a sizing border. Same as the WS_THICKFRAME style.
WS_SYSMENU
Creates a window that has a window-menu on its title bar. The WS_CAPTION
style must also be specified.
WS_TABSTOP
Specifies a control that can receive the keyboard focus when the user
presses the TAB key. Pressing the TAB key changes the keyboard focus to the
next control with the WS_TABSTOP style.
WS_THICKFRAME
Creates a window that has a sizing border. Same as the WS_SIZEBOX style.
WS_TILED
Creates an overlapped window. An overlapped window has a title bar and a
border. Same as the WS_OVERLAPPED style.
WS_TILEDWINDOW
Creates an overlapped window with the WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU,
WS_THICKFRAME, WS_MINIMIZEBOX, and WS_MAXIMIZEBOX styles. Same as the
WS_OVERLAPPEDWINDOW style.
WS_VISIBLE
Creates a window that is initially visible.
WS_VSCROLL
Creates a window that has a vertical scroll bar.
The following button styles (in the BUTTON class) can be specified in the
dwStyle parameter:
BS_3STATE
Creates a button that is the same as a check box, except that the box can be
grayed as well as checked or unchecked. Use the grayed state to show that
the state of the check box is not determined.
BS_AUTO3STATE
Creates a button that is the same as a three-state check box, except that
the box changes its state when the user selects it. The state cycles through
checked, grayed, and unchecked.
BS_AUTOCHECKBOX
Creates a button that is the same as a check box, except that the check
state automatically toggles between checked and unchecked each time the user
selects the check box.
BS_AUTORADIOBUTTON
Creates a button that is the same as a radio button, except that when the
user selects it, Windows automatically sets the button's check state to
checked and automatically sets the check state for all other buttons in the
same group to unchecked.
BS_CHECKBOX
Creates a small, empty check box with text. By default, the text is
displayed to the right of the check box. To display the text to the left of
the check box, combine this flag with the BS_LEFTTEXT style (or with the
equivalent BS_RIGHTBUTTON style).
BS_DEFPUSHBUTTON
Creates a push button that behaves like a BS_PUSHBUTTON style button, but
also has a heavy black border. If the button is in a dialog box, the user
can select the button by pressing the ENTER key, even when the button does
not have the input focus. This style is useful for enabling the user to
quickly select the most likely (default) option.
BS_GROUPBOX
Creates a rectangle in which other controls can be grouped. Any text
associated with this style is displayed in the rectangle's upper left
corner.
BS_LEFTTEXT
Places text on the left side of the radio button or check box when combined
with a radio button or check box style. Same as the BS_RIGHTBUTTON style.
BS_OWNERDRAW
Creates an owner-drawn button. The owner window receives a WM_MEASUREITEM
message when the button is created and a WM_DRAWITEM message when a visual
aspect of the button has changed. Do not combine the BS_OWNERDRAW style with
any other button styles.
BS_PUSHBUTTON
Creates a push button that posts a WM_COMMAND message to the owner window
when the user selects the button.
BS_RADIOBUTTON
Creates a small circle with text. By default, the text is displayed to the
right of the circle. To display the text to the left of the circle, combine
this flag with the BS_LEFTTEXT style (or with the equivalent BS_RIGHTBUTTON
style). Use radio buttons for groups of related, but mutually exclusive
choices.
BS_USERBUTTON
Obsolete, but provided for compatibility with 16-bit versions of Windows.
Win32-based applications should use BS_OWNERDRAW instead.
BS_BITMAP
Specifies that the button displays a bitmap.
BS_BOTTOM
Places text at the bottom of the button rectangle.
BS_CENTER
Centers text horizontally in the button rectangle.
BS_ICON
Specifies that the button displays an icon.
BS_LEFT
Left-justifies the text in the button rectangle. However, if the button is a
check box or radio button that does not have the BS_RIGHTBUTTON style, the
text is left justified on the right side of the check box or radio button.
BS_MULTILINE
Wraps the button text to multiple lines if the text string is too long to
fit on a single line in the button rectangle.
BS_NOTIFY
Enables a button to send BN_DBLCLK, BN_KILLFOCUS, and BN_SETFOCUS
notification messages to its parent window. Note that buttons send the
BN_CLICKED notification message regardless of whether it has this style.
BS_PUSHLIKE
Makes a button (such as a check box, three-state check box, or radio button)
look and act like a push button. The button looks raised when it isn't
pushed or checked, and sunken when it is pushed or checked.
BS_RIGHT
Right-justifies text in the button rectangle. However, if the button is a
check box or radio button that does not have the BS_RIGHTBUTTON style, the
text is right justified on the right side of the check box or radio button.
BS_RIGHTBUTTON
Positions a radio button's circle or a check box's square on the right side
of the button rectangle. Same as the BS_LEFTTEXT style.
BS_TEXT
Specifies that the button displays text.
BS_TOP
Places text at the top of the button rectangle.
BS_VCENTER
Places text in the middle (vertically) of the button rectangle.
The following combo box styles (in the COMBOBOX class) can be specified in
the dwStyle parameter:
CBS_AUTOHSCROLL
Automatically scrolls the text in an edit control to the right when the user
types a character at the end of the line. If this style is not set, only
text that fits within the rectangular boundary is allowed.
CBS_DISABLENOSCROLL
Shows a disabled vertical scroll bar in the list box when the box does not
contain enough items to scroll. Without this style, the scroll bar is hidden
when the list box does not contain enough items.
CBS_DROPDOWN
Similar to CBS_SIMPLE, except that the list box is not displayed unless the
user selects an icon next to the edit control.
CBS_DROPDOWNLIST
Similar to CBS_DROPDOWN, except that the edit control is replaced by a
static text item that displays the current selection in the list box.
CBS_HASSTRINGS
Specifies that an owner-drawn combo box contains items consisting of
strings. The combo box maintains the memory and address for the strings, so
the application can use the CB_GETLBTEXT message to retrieve the text for a
particular item.
CBS_LOWERCASE
Converts to lowercase any uppercase characters entered into the edit control
of a combo box.
CBS_NOINTEGRALHEIGHT
Specifies that the size of the combo box is exactly the size specified by
the application when it created the combo box. Normally, Windows sizes a
combo box so that it does not display partial items.
CBS_OEMCONVERT
Converts text entered in the combo box edit control. The text is converted
from the Windows character set to the OEM character set and then back to the
Windows set. This ensures proper character conversion when the application
calls the CharToOem function to convert a Windows string in the combo box to
OEM characters. This style is most useful for combo boxes that contain
filenames and applies only to combo boxes created with the CBS_SIMPLE or
CBS_DROPDOWN style.
CBS_OWNERDRAWFIXED
Specifies that the owner of the list box is responsible for drawing its
contents and that the items in the list box are all the same height. The
owner window receives a WM_MEASUREITEM message when the combo box is created
and a WM_DRAWITEM message when a visual aspect of the combo box has changed.
CBS_OWNERDRAWVARIABLE
Specifies that the owner of the list box is responsible for drawing its
contents and that the items in the list box are variable in height. The
owner window receives a WM_MEASUREITEM message for each item in the combo
box when you create the combo box; the owner window receives a WM_DRAWITEM
message when a visual aspect of the combo box has changed.
CBS_SIMPLE
Displays the list box at all times. The current selection in the list box is
displayed in the edit control.
CBS_SORT
Automatically sorts strings entered into the list box.
CBS_UPPERCASE
Converts to uppercase any lowercase characters entered into the edit control
of a combo box.
The following edit control styles (in the EDIT class) can be specified in
the dwStyle parameter:
ES_AUTOHSCROLL
Automatically scrolls text to the right by 10 characters when the user types
a character at the end of the line. When the user presses the ENTER key, the
control scrolls all text back to position zero.
ES_AUTOVSCROLL
Automatically scrolls text up one page when the user presses the ENTER key
on the last line.
ES_CENTER
Centers text in a multiline edit control.
ES_LEFT
Left-aligns text.
ES_LOWERCASE
Converts all characters to lowercase as they are typed into the edit
control.
ES_MULTILINE
Designates a multiline edit control. The default is single-line edit
control.
When the multiline edit control is in a dialog box, the default response to
pressing the ENTER key is to activate the default button. To use the ENTER
key as a carriage return, use the ES_WANTRETURN style.
When the multiline edit control is not in a dialog box and the
ES_AUTOVSCROLL style is specified, the edit control shows as many lines as
possible and scrolls vertically when the user presses the ENTER key. If you
do not specify ES_AUTOVSCROLL, the edit control shows as many lines as
possible and beeps if the user presses the ENTER key when no more lines can
be displayed.
If you specify the ES_AUTOHSCROLL style, the multiline edit control
automatically scrolls horizontally when the caret goes past the right edge
of the control. To start a new line, the user must press the ENTER key. If
you do not specify ES_AUTOHSCROLL, the control automatically wraps words to
the beginning of the next line when necessary. A new line is also started if
the user presses the ENTER key. The window size determines the position of
the word wrap. If the window size changes, the word wrapping position
changes and the text is redisplayed.
Multiline edit controls can have scroll bars. An edit control with scroll
bars processes its own scroll bar messages. Note that edit controls without
scroll bars scroll as described in the previous paragraphs and process any
scroll messages sent by the parent window.
ES_NOHIDESEL
Negates the default behavior for an edit control. The default behavior hides
the selection when the control loses the input focus and inverts the
selection when the control receives the input focus. If you specify
ES_NOHIDESEL, the selected text is inverted, even if the control does not
have the focus.
ES_NUMBER
Allows only digits to be entered into the edit control.
ES_OEMCONVERT
Converts text entered in the edit control. The text is converted from the
Windows character set to the OEM character set and then back to the Windows
set. This ensures proper character conversion when the application calls the
CharToOem function to convert a Windows string in the edit control to OEM
characters. This style is most useful for edit controls that contain
filenames.
ES_PASSWORD
Displays an asterisk (*) for each character typed into the edit control. You
can use the EM_SETPASSWORDCHAR message to change the character that is
displayed.
ES_READONLY
Prevents the user from typing or editing text in the edit control.
ES_RIGHT
Right-aligns text in a multiline edit control.
ES_UPPERCASE
Converts all characters to uppercase as they are typed into the edit
control.
ES_WANTRETURN
Specifies that a carriage return be inserted when the user presses the ENTER
key while entering text into a multiline edit control in a dialog box. If
you do not specify this style, pressing the ENTER key has the same effect as
pressing the dialog box's default push button. This style has no effect on a
single-line edit control.
The following list box control styles (in the LISTBOX class) can be
specified in the dwStyle parameter:
LBS_DISABLENOSCROLL
Shows a disabled vertical scroll bar for the list box when the box does not
contain enough items to scroll. If you do not specify this style, the scroll
bar is hidden when the list box does not contain enough items.
LBS_EXTENDEDSEL
Allows multiple items to be selected by using the SHIFT key and the mouse or
special key combinations.
LBS_HASSTRINGS
Specifies that a list box contains items consisting of strings. The list box
maintains the memory and addresses for the strings so the application can
use the LB_GETTEXT message to retrieve the text for a particular item. By
default, all list boxes except owner-drawn list boxes have this style. You
can create an owner-drawn list box either with or without this style.
LBS_MULTICOLUMN
Specifies a multicolumn list box that is scrolled horizontally. The
LB_SETCOLUMNWIDTH message sets the width of the columns.
LBS_MULTIPLESEL
Turns string selection on or off each time the user clicks or double-clicks
a string in the list box. The user can select any number of strings.
LBS_NODATA
Specifies a no-data list box. Specify this style when the count of items in
the list box will exceed one thousand. A no-data list box must also have the
LBS_OWNERDRAWFIXED style, but must not have the LBS_SORT or LBS_HASSTRINGS
style.
A no-data list box resembles an owner-drawn list box except that it contains
no string or bitmap data for an item. Commands to add, insert, or delete an
item always ignore any given item data; requests to find a string within the
list box always fail. Windows sends the WM_DRAWITEM message to the owner
window when an item must be drawn. The itemID member of the DRAWITEMSTRUCT
structure passed with the WM_DRAWITEM message specifies the line number of
the item to be drawn. A no-data list box does not send a WM_DELETEITEM
message.
LBS_NOINTEGRALHEIGHT
Specifies that the size of the list box is exactly the size specified by the
application when it created the list box. Normally, Windows sizes a list box
so that the list box does not display partial items.
LBS_NOREDRAW
Specifies that the list box's appearance is not updated when changes are
made. You can change this style at any time by sending a WM_SETREDRAW
message.
LBS_NOSEL
Specifies that the list box contains items that can be viewed but not
selected.
LBS_NOTIFY
Notifies the parent window with an input message whenever the user clicks or
double-clicks a string in the list box.
LBS_OWNERDRAWFIXED
Specifies that the owner of the list box is responsible for drawing its
contents and that the items in the list box are the same height. The owner
window receives a WM_MEASUREITEM message when the list box is created and a
WM_DRAWITEM message when a visual aspect of the list box has changed.
LBS_OWNERDRAWVARIABLE
Specifies that the owner of the list box is responsible for drawing its
contents and that the items in the list box are variable in height. The
owner window receives a WM_MEASUREITEM message for each item in the combo
box when the combo box is created and a WM_DRAWITEM message when a visual
aspect of the combo box has changed.
LBS_SORT
Sorts strings in the list box alphabetically.
LBS_STANDARD
Sorts strings in the list box alphabetically. The parent window receives an
input message whenever the user clicks or double-clicks a string. The list
box has borders on all sides.
LBS_USETABSTOPS
Enables a list box to recognize and expand tab characters when drawing its
strings. The default tab positions are 32 dialog box units. A dialog box
unit is a horizontal or vertical distance. One horizontal dialog box unit is
equal to one-fourth of the current dialog box base-width unit. Windows
calculates these units based on the height and width of the current system
font. The GetDialogBaseUnits function returns the current dialog box base
units in pixels.
LBS_WANTKEYBOARDINPUT
Specifies that the owner of the list box receives WM_VKEYTOITEM messages
whenever the user presses a key and the list box has the input focus. This
enables an application to perform special processing on the keyboard input.
The following scroll bar styles (in the SCROLLBAR class) can be specified in
the dwStyle parameter:
SBS_BOTTOMALIGN
Aligns the bottom edge of the scroll bar with the bottom edge of the
rectangle defined by the parameters x, y, nWidth, and nHeight. The scroll
bar has the default height for system scroll bars. Use this style with the
SBS_HORZ style.
SBS_HORZ
Designates a horizontal scroll bar. If neither the SBS_BOTTOMALIGN nor
SBS_TOPALIGN style is specified, the scroll bar has the height, width, and
position defined by x, y, nWidth, and nHeight.
SBS_LEFTALIGN
Aligns the left edge of the scroll bar with the left edge of the rectangle
defined by the parameters x, y, nWidth, and nHeight. The scroll bar has the
default width for system scroll bars. Use this style with the SBS_VERT
style.
SBS_RIGHTALIGN
Aligns the right edge of the scroll bar with the right edge of the rectangle
defined by the parameters x, y, nWidth, and nHeight. The scroll bar has the
default width for system scroll bars. Use this style with the SBS_VERT
style.
SBS_SIZEBOX
Designates a size box. If you specify neither the
SBS_SIZEBOXBOTTOMRIGHTALIGN nor the SBS_SIZEBOXTOPLEFTALIGN style, the size
box has the height, width, and position specified by the parameters x, y,
nWidth, and nHeight.
SBS_SIZEBOXBOTTOMRIGHTALIGN
Aligns the lower-right corner of the size box with the lower-right corner of
the rectangle specified by the parameters x, y, nWidth, and nHeight. The
size box has the default size for system size boxes. Use this style with the
SBS_SIZEBOX style.
SBS_SIZEBOXTOPLEFTALIGN
Aligns the upper-left corner of the size box with the upper-left corner of
the rectangle specified by the parameters x, y, nWidth, and nHeight. The
size box has the default size for system size boxes. Use this style with the
SBS_SIZEBOX style.
SBS_SIZEGRIP
Same as SBS_SIZEBOX, but with a raised edge.
SBS_TOPALIGN
Aligns the top edge of the scroll bar with the top edge of the rectangle
defined by the parameters x, y, nWidth, and nHeight. The scroll bar has the
default height for system scroll bars. Use this style with the SBS_HORZ
style.
SBS_VERT
Designates a vertical scroll bar. If you specify neither the SBS_RIGHTALIGN
nor the SBS_LEFTALIGN style, the scroll bar has the height, width, and
position specified by the parameters x, y, nWidth, and nHeight.
The following static control styles (in the STATIC class) can be specified
in the dwStyle parameter. A static control can have only one of these
styles:
SS_BITMAP
Specifies a bitmap is to be displayed in the static control. The error code
text is the name of a bitmap (not a filename) defined elsewhere in the
resource file. The style ignores the nWidth and nHeight parameters; the
control automatically sizes itself to accommodate the bitmap.
SS_BLACKFRAME
Specifies a box with a frame drawn in the same color as the window frames.
This color is black in the default Windows color scheme.
SS_BLACKRECT
Specifies a rectangle filled with the current window frame color. This color
is black in the default Windows color scheme.
SS_CENTER
Specifies a simple rectangle and centers the error code text in the
rectangle. The text is formatted before it is displayed. Words that extend
past the end of a line are automatically wrapped to the beginning of the
next centered line.
SS_CENTERIMAGE
Specifies that the midpoint of a static control with the SS_BITMAP or
SS_ICON style is to remain fixed when the control is resized. The four sides
are adjusted to accommodate a new bitmap or icon.
If a static control has the SS_BITMAP style and the bitmap is smaller than
the control's client area, the client area is filled with the color of the
pixel in the upper-left corner of the bitmap. If a static control has the
SS_ICON style, the icon does not appear to paint the client area.
SS_GRAYFRAME
Specifies a box with a frame drawn with the same color as the screen
background (desktop). This color is gray in the default Windows color
scheme.
SS_GRAYRECT
Specifies a rectangle filled with the current screen background color. This
color is gray in the default Windows color scheme.
SS_ICON
Specifies an icon displayed in the dialog box. The given text is the name of
an icon (not a filename) defined elsewhere in the resource file. The style
ignores the nWidth and nHeight parameters; the icon automatically sizes
itself.
SS_LEFT
Specifies a simple rectangle and left-aligns the given text in the
rectangle. The text is formatted before it is displayed. Words that extend
past the end of a line are automatically wrapped to the beginning of the
next left-aligned line.
SS_LEFTNOWORDWRAP
Specifies a simple rectangle and left-aligns the given text in the
rectangle. Tabs are expanded but words are not wrapped. Text that extends
past the end of a line is clipped.
SS_METAPICT
Specifies a metafile picture is to be displayed in the static control. The
given text is the name of a metafile picture (not a filename) defined
elsewhere in the resource file. A metafile static control has a fixed size;
the metafile picture is scaled to fit the static control's client area.
SS_NOPREFIX
Prevents interpretation of any ampersand (&) characters in the control's
text as accelerator prefix characters. These are displayed with the
ampersand removed and the next character in the string underlined. This
static control style may be included with any of the defined static
controls.
An application can combine SS_NOPREFIX with other styles by using the
bitwise OR (|) operator. This can be useful when filenames or other strings
that may contain an ampersand (&) must be displayed in a static control in a
dialog box.
SS_NOTIFY
Sends the parent window STN_CLICKED and STN_DBLCLK notification messages
when the user clicks or double clicks the control.
SS_RIGHT
Specifies a simple rectangle and right-aligns the given text in the
rectangle. The text is formatted before it is displayed. Words that extend
past the end of a line are automatically wrapped to the beginning of the
next right-aligned line.
SS_RIGHTIMAGE
Specifies that the bottom-right corner of a static control with the
SS_BITMAP or SS_ICON style is to remain fixed when the control is resized.
Only the top and left sides are adjusted to accommodate a new bitmap or
icon.
SS_SIMPLE
Specifies a simple rectangle and displays a single line of left-aligned text
in the rectangle. The text line cannot be shortened or altered in any way.
The control's parent window or dialog box must not process the
WM_CTLCOLORSTATIC message.
SS_WHITEFRAME
Specifies a box with a frame drawn with the same color as the window
backgrounds. This color is white in the default Windows color scheme.
SS_WHITERECT
Specifies a rectangle filled with the current window background color. This
color is white in the default Windows color scheme.
The following dialog box styles can be specified in the dwStyle parameter:
DS_3DLOOK
Gives the dialog box a nonbold font and draws three-dimensional borders
around control windows in the dialog box.
The DS_3DLOOK style is required only by Win32-based applications compiled
for versions of Windows earlier than Windows 95 or Windows NT 4.0. The
system automatically applies the three-dimensional look to dialog boxes
created by applications compiled for current versions of Windows.
DS_ABSALIGN
Indicates that the coordinates of the dialog box are screen coordinates;
otherwise, Windows assumes they are client coordinates.
DS_CENTER
Centers the dialog box in the working area; that is, the area not obscured
by the tray.
DS_CENTERMOUSE
Centers the mouse cursor in the dialog box.
DS_CONTEXTHELP
Includes 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 control
receives a WM_HELP message. The control should pass the message to the
dialog procedure, which should call the WinHelp function using the
HELP_WM_HELP command. The Help application displays a pop-up window that
typically contains help for the control.
Note that DS_CONTEXTHELP is just a placeholder. When the dialog box is
created, the system checks for DS_CONTEXTHELP and, if it is there, adds
WS_EX_CONTEXTHELP to the extended style of the dialog box. WS_EX_CONTEXTHELP
cannot be used with the WS_MAXIMIZEBOX or WS_MINIMIZEBOX styles.
DS_CONTROL
Creates a dialog box that works well as a child window of another dialog
box, much like a page in a property sheet. This style allows the user to tab
among the control windows of a child dialog box, use its accelerator keys,
and so on.
DS_FIXEDSYS
Use SYSTEM_FIXED_FONT instead of SYSTEM_FONT.
DS_LOCALEDIT
Applies to 16-bit applications only. This style directs edit controls in the
dialog box to allocate memory from the application's data segment.
Otherwise, edit controls allocate storage from a global memory object.
DS_MODALFRAME
Creates a dialog box with a modal dialog-box frame that can be combined with
a title bar and window menu by specifying the WS_CAPTION and WS_SYSMENU
styles.
DS_NOFAILCREATE
Creates the dialog box even if errors occur ¾ for example, if a child window
cannot be created or if the system cannot create a special data segment for
an edit control.
DS_NOIDLEMSG
Suppresses WM_ENTERIDLE messages that Windows would otherwise send to the
owner of the dialog box while the dialog box is displayed.
DS_RECURSE
Dialog box style for control-like dialog boxes.
DS_SETFONT
Indicates that the dialog box template (the DLGTEMPLATE structure) contains
two additional members specifying a font name and point size. The
corresponding font is used to display text within the dialog box client area
and within the dialog box controls. Windows passes the handle of the font to
the dialog box and to each control by sending them the WM_SETFONT message.
DS_SETFOREGROUND
Does not apply to 16-bit versions of Microsoft Windows. This style brings
the dialog box to the foreground. Internally, Windows calls the
SetForegroundWindow function for the dialog box.
DS_SYSMODAL
Creates 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 windows in the system when the dialog box is
displayed.
· x
Specifies the initial horizontal position of the window. For an overlapped
or pop-up window, the x parameter is the initial x-coordinate of the window'
s upper-left corner, in screen coordinates. For a child window, x is the
x-coordinate of the upper-left corner of the window relative to the
upper-left corner of the parent window's client area.
If x is set to CW_USEDEFAULT, Windows selects the default position for the
window's upper-left corner and ignores the y parameter. CW_USEDEFAULT is
valid only for overlapped windows; if it is specified for a pop-up or child
window, the x and y parameters are set to zero.
· y
Specifies the initial vertical position of the window. For an overlapped or
pop-up window, the y parameter is the initial y-coordinate of the window's
upper-left corner, in screen coordinates. For a child window, y is the
initial y-coordinate of the upper-left corner of the child window relative
to the upper-left corner of the parent window's client area. For a list box,
y is the initial y-coordinate of the upper-left corner of the list box's
client area relative to the upper-left corner of the parent window's client
area.
If an overlapped window is created with the WS_VISIBLE style bit set and the
x parameter is set to CW_USEDEFAULT, Windows ignores the y parameter.
· nWidth
Specifies the width, in device units, of the window. For overlapped windows,
nWidth is the window's width, in screen coordinates, or CW_USEDEFAULT. If
nWidth is CW_USEDEFAULT, Windows selects a default width and height for the
window; the default width extends from the initial x-coordinates to the
right edge of the screen; the default height extends from the initial
y-coordinate to the top of the icon area. CW_USEDEFAULT is valid only for
overlapped windows; if CW_USEDEFAULT is specified for a pop-up or child
window, the nWidth and nHeight parameter are set to zero.
· nHeight
Specifies the height, in device units, of the window. For overlapped
windows, nHeight is the window's height, in screen coordinates. If the
nWidth parameter is set to CW_USEDEFAULT, Windows ignores nHeight.
· hWndParent
Identifies the parent or owner window of the window being created. A valid
window handle must be supplied when a child window or an owned window is
created. A child window is confined to the client area of its parent window.
An owned window is an overlapped window that is destroyed when its owner
window is destroyed or hidden when its owner is minimized; it is always
displayed on top of its owner window. Although this parameter must specify a
valid handle if the dwStyle parameter includes the WS_CHILD style, it is
optional if dwStyle includes the WS_POPUP style.
· hMenu
Identifies a menu, or specifies a child-window identifier, depending on the
window style. For an overlapped or pop-up window, hMenu identifies the menu
to be used with the window; it can be NULL if the class menu is to be used.
For a child window, hMenu specifies the child-window identifier, an integer
value used by a dialog box control to notify its parent about events. The
application determines the child-window identifier; it must be unique for
all child windows with the same parent window.
· hInstance
Identifies the instance of the module to be associated with the window.
· lpParam
Points to a value passed to the window through the CREATESTRUCT structure
referenced by the lParam parameter of the WM_CREATE message. If an
application calls CreateWindow to create a multiple document interface
client window, lpParam must point to a CLIENTCREATESTRUCT structure.
****************************************************************
esempio:
Const WS_EX_STATICEDGE = &H20000
Const WS_EX_TRANSPARENT = &H20&
Const WS_CHILD = &H40000000
Const CW_USEDEFAULT = &H80000000
Const SW_NORMAL = 1
Private Type CREATESTRUCT
    lpCreateParams As Long
    hInstance As Long
    hMenu As Long
    hWndParent As Long
    cy As Long
    cx As Long
    y As Long
    x As Long
    style As Long
    lpszName As String
    lpszClass As String
    ExStyle As Long
End Type
Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA"
(ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As
String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal
nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu
As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal
nCmdShow As Long) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As
Long
Dim mWnd As Long
Private Sub Form_Load()
    Dim CS As CREATESTRUCT
    'Create a new label
    mWnd = CreateWindowEx(WS_EX_STATICEDGE Or WS_EX_TRANSPARENT, "STATIC",
"Hello World !", WS_CHILD, 0, 0, 300, 50, Me.hwnd, 0, App.hInstance, CS)
    Me.Caption = mWnd
    'Show our label
    ShowWindow mWnd, SW_NORMAL
End Sub
Private Sub Form_Unload(Cancel As Integer)
    'destroy our label
    DestroyWindow mWnd
End Sub