Subclassificação do procedimento de janela

Quando um aplicativo cria uma janela, o sistema aloca um Bloquear de memória para armazenar informações específicas para a janela, incluindo o endereço do procedimento janela que processa mensagens para a janela. Quando o sistema precisa transmitir uma mensagem para a janela, ele procura as informações específicas de janela para o endereço do procedimento de janela e passa a mensagem para esse procedimento.

A criação de subclasses é uma técnica que permite que um aplicativo interceptar e processar mensagens enviadas ou remetida para uma janela específica antes que a janela tem uma chance de processá-las. Por subclassificação uma janela, um aplicativo pode aumentar, modificar ou controlar o comportamento da janela. Um aplicativo pode subclasse uma janela pertencente a uma classe de sistema global, como um Controlarar de Editarar ou uma caixa de listagem. Por exemplo, um aplicativo pode subclasse um Controlarar de Editar para impedir que o Controlarar de aceitar determinados caracteres. No entanto, você não pode subclasse uma janela ou a classe que pertence a outro aplicativo. A criação de todas as subclasses deve ser executadas dentro do mesmo processo.

Subclasses uma aplicação uma janela, substituindo o endereço do procedimento de janela original da janela com o endereço de um novo procedimento de janela, chamado o procedimento subclasse. Daí em diante, o procedimento subclasse recebe as mensagens enviadas ou lançada para a janela.

O procedimento subclasse pode tomar três ações ao receber uma mensagem: ele pode passar a mensagem para o procedimento janela original, modificar a mensagem e passá-lo para o procedimento de janela original, ou processar a mensagem e não passá-lo para o procedimento de janela original. Se o procedimento subclasse processa uma mensagem, ele pode fazer isso antes, depois, ou ambos antes e depois de passar a mensagem para o procedimento de janela original.

O sistema fornece dois tipos de subclassificação: instância e global. Na subclassificação de instância, um aplicativo substitui o endereço do procedimento de janela de uma única instância de uma janela. Um aplicativo deve usar instância subclassificação para "subclasse" uma janela existente. Na subclassificação global, um aplicativo substitui o endereço do procedimento de janela in a WNDCLASS estrutura de uma classe de janela. Todas as janelas subseqüentes criadas com a classe possuem o endereço do procedimento subclasse, mas windows existentes da classe não são afetados.

Index