Window Procedure Subclassing
When an application creates a window, the operating system allocates a block
of memory for storing information specific to the window, including the address
of the window procedure that processes messages for the window. When Windows
needs to pass a message to the window, it searches the window-specific
information for the address of the window procedure and passes the message to that
procedure.
Subclassing is a technique that allows an application to intercept and process messages
sent or posted to a particular window before the window has a chance to process
them. By subclassing a window, an application can augment, modify, or monitor
the behavior of the window. Although it is not recommended, an application can
subclass any window, including those belonging to a system global class, such as
an edit control or a list box. For example, an application could subclass an
edit control to prevent the control from accepting certain characters. For an
explanation of the risks involved, see the following section.
An application subclasses a window by replacing the address of the window's
original window procedure with the address of a new window procedure, called the
subclass procedure. Thereafter, the subclass procedure receives any messages sent or posted to
the window.
The subclass procedure can take three actions upon receiving a message: it can
pass the message to the original window procedure, modify the message and pass
it to the original window procedure, or process the message and not pass it to
the original window procedure. If the subclass procedure processes a message,
it can do so before, after, or both before and after it passes the message to
the original window procedure.
Windows provides two types of subclassing: instance and global. In
instance subclassing, an application replaces the window procedure address of a single instance of
a window. An application must use instance subclassing to subclass an existing
window. In
global subclassing, an application replaces the address of the window procedure in the
WNDCLASS structure of a window class. All subsequent windows created with the class
have the address of the subclass procedure, but existing windows of the class are
not affected.
- 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