Pergunta

Eu estou tentando fazer uma janela que fecha quando clicar fora dele , e no momento eu estou olhando para fazer isso por lidar com a função WndProc.

Nenhuma das mensagens que estou recebendo até agora parecem úteis, mas há alguns que eu não entendo nada. O que códigos 0x0118, 0xC123, 0xC128 e 0xC12E representa?

Foi útil?

Solução

0x0118: WM_SYSTIMER (indocumentados) usado para acento circunflexo pisca

Os outros três devem ser de aplicação mensagens definidas (qualquer coisa na faixa 0xC000 a 0xFFFF) para que você não vai encontrar aqueles em qualquer lugar definido.

Outras dicas

Uma maneira fácil seria apenas para capturar o mouse. Quando você tem o mouse capturado você receber um evento de clique fora de sua janela, então capturando é desligado.

A maneira mais difícil seria a criação de um baixo nível janelas rato gancho. Para fazer um gancho global, você vai ter que colocar o seu código de gancho em uma DLL não gerenciada.

A realmente maneira fácil seria apenas perto seu formulário quando ele está desativado.

Editar :

Opa. Eu só percebi que eu não responder a sua pergunta direta sobre as identificações de mensagens. Mensagem 0x118 não está definido no WinUser.h, então eu suponho que é um ID de mensagem não documentada. IDs de mensagens na faixa 0xC000 a 0xFFFF são mensagens definidos pelo aplicativo. Essas identificações são devolvidos pelo RegisterWindowMessage.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top