|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
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.
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
Окно Procedure Subclassing
Когда приложение создает окно, операционная система распределяет блока памяти для хранения информации специфического в окно, включая адрес процедуры окна, которое обрабатывает сообщения для окна. Когда Windows нужно передавать сообщение в окно, это ищет окно-специфическую информацию для адреса процедуры окна и передает сообщение в эту процедуру.
Subclassing - техника, которая позволяет приложение, чтобы прерывать и обрабатывать сообщения посланные или объявленные в конкретное окно прежде, чем окно имеет шанс, чтобы обрабатывать их. subclassing Окно, приложение может прибавить, модифицировать, или проверять поведение окна. Хотя это не рекомендовано, приложение может подкласс любое окно, включая тем принадлежащим системному глобальному классу, как например, управление редактирования или блок списка. Например, приложение могло подкласс управление редактирования, чтобы мешать управление чтобы принимать определенные символы. Для объяснения риска включенного, смотри следующую секцию.
Прикладные подклассы окно заменяя адрес процедуры оригинального окна окна адресом новой процедуры окна, вызванным процедура подкласса. Согласно этому, процедура подкласса получает любые сообщения посланные или объявленные в окно. Процедура подкласса может взять три действия на получающем сообщение: это может передать сообщение в оригинальную процедуру окна, модифицировать сообщение и передавать это в оригинальную процедуру окна или обрабатывает сообщение и не передает это в оригинальную процедуру окна. Если процедура подкласса обрабатывает сообщение, она может делать так перед, после, или как перед так и после того, как это передаст сообщение в оригинальную процедуру окна.
Windows обеспечивает два типа subclassing: пример и глобальный. В примере subclassing, приложение заменяет адрес процедуры окна единственного примера окна. Приложение должно использовать пример subclassing в подкласс существующее окно. В глобальном subclassing, приложение заменяет адрес процедуры окна в структуре WNDCLASS класса окна. Все последующее окно созданное классом имеет адрес процедуры подкласса, но существуя окно класса не воздействовано.
|
|
|
|
| |