Como o sistema localiza um classe de janela

O sistema mantém uma lista de estruturas para cada um dos três tipos de classes de janela. Quando um aplicativo chama o CreateWindow ou CreateWindowEx função para criar uma janela com uma classe especificada, o sistema usa o procedimento a seguir para localizar a classe:

  1. Pesquisa a lista de classes local de aplicativo para uma classe com o nome especificado cujo identificador de instância corresponde ao identificador de instância do módulo. (Vários módulos podem usar o mesmo nome para registrar classes local no mesmo processo).
  2. Se o nome não estiver na lista local da classe de aplicativo, pesquisa a lista de classes global do aplicativo.
  3. Se o nome não estiver na lista global da classe de aplicativo, pesquisa a lista de classes do sistema.

Todas as janelas criadas pelo aplicativo usam este procedimento, incluindo windows criados pelo sistema em nome do aplicativo, tais como caixas de diálogo. É possível substituir classes do sistema sem afetar outros aplicativos. Ou seja, um aplicativo pode registrar uma classe local do aplicativo com o mesmo nome que uma classe de sistema. Isso substitui a classe de sistema no contexto do aplicativo, mas não impedir que outros aplicativos usando a classe de sistema.

Index