Subclassed Combo Boxes
Subclassing is a procedure that allows an application to intercept and process messages
sent or posted to a window. By using subclassing, an application can substitute
its own processing for certain messages, while leaving most message processing
to the class-defined window procedure.
When the operating system creates a window, it saves information about it in
an internal data structure that includes the address of the window procedure. To
subclass a window, an application calls the
SetClassLong function to replace the address of that procedure with the instance address
of an application-defined subclass procedure. Thereafter, all messages to the
window are sent to the subclass procedure. This procedure then uses the
CallWindowProc function to pass unprocessed messages to the original window procedure. For a
description of the message processing performed by the COMBOBOX class window
procedure, see
Default Combo Box Behavior.
When the combo box is outside a dialog box, an application cannot process the TAB, ENTER, and ESCAPE keys unless it uses a subclass procedure. When a simple or drop-down combo
box receives the input focus, it immediately sets the focus to its child edit
control. Therefore, an application must subclass the edit control to intercept
keyboard input for a simple or drop-down combo box. For an example of this, see
Subclassing a Combo Box.
If a subclass procedure processes the
WM_PAINT message, it must use the
BeginPaint function to prepare for painting. Before calling the
EndPaint function, it passes the device-context (DC) handle as the
wParam parameter for the window procedure. If
EndPaint is called first, the class window procedure does no painting because
EndPaint validates the entire window.
A technique related to subclassing is
superclassing. A superclass resembles any other class except that its window procedure does
not call
DefWindowProc to handle unprocessed messages. Instead, it passes unprocessed messages to
the window procedure for the parent window class. Follow the guidelines in
Window Procedures to avoid problems that can occur with subclassing and superclassing.
- 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