Custom Controls
Applications can create custom controls to perform tasks not supported by
predefined controls. Windows provides the following ways to create custom controls:
- Use owner-drawn buttons, list boxes, and combo boxes.
- Subclass an existing control-window class.
- Register and implement from scratch an application-defined window class.
Buttons, list boxes, and combo boxes have owner-drawn styles available that
direct the control to send a message to the parent window whenever the control
must be drawn. This feature permits an application to alter the appearance of a
control. For buttons, the owner-drawn style affects how the system draws the
entire control. For list boxes and combo boxes, the parent window draws the items
within the control, and the control draws its own outline. For example, an
application can customize a list box so that it displays a small bitmap next to
each item in the list.
An application can designate list boxes, combo boxes, and buttons as
owner-drawn controls by creating them with the appropriate style. When a control has the
owner-drawn style, Windows handles the user's interaction with the control as
usual, performing such tasks as detecting when a user has chosen a button and
notifying the button's owner of the event. However, because the control is owner
drawn, the parent window of the control is responsible for the visual
appearance of the control. For more information about owner-drawn controls, see the
individual topics for buttons, list boxes, and combo boxes.
Subclassing an existing control is another way to create a custom control. The
subclass procedure can alter selected behaviors of the control by processing
those messages that affect the selected behaviors. All other messages pass to
the original window procedure for the control. For example, an application can
display a small bitmap next to the text in a read-only, single-line edit control
by subclassing the control and processing the
WM_PAINT message. For more information about subclassing, see
Window Classes.
Although an application may subclass a predefined control, it relies on the
window procedure of the control to provide all other aspects of the control's
behavior. For more information about a control's behavior, see the individual
topics for the predefined controls.
An application can create custom controls by registering an
application-defined window class and specifying the name of the window class in the
CreateWindowEx function or in the dialog box template. The process for registering an
application-defined window class for a custom control is the same as for registering
a class for an ordinary window. Each class must have a unique name, a
corresponding window procedure, and other information.
At a minimum, the window procedure draws the control. If an application uses
the control to let the user type information, the window procedure also
processes input messages from the keyboard and mouse and sends notification messages to
the parent window. In addition, if the control supports control messages, the
window procedure processes messages sent to it by the parent window or other
windows. For example, controls often process the
WM_GETDLGCODE message sent by dialog boxes to direct a dialog box to process keyboard input
in a given way.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database