Como criar uma janela não interativas no MFC
-
09-06-2019 - |
Pergunta
Na minha aplicação eu tenho uma janela que eu popup com pequenas mensagens nele (pensar semelhante a dica de ferramenta).Esta janela usa em camadas de atributos para desenhar alfa planos de fundo, etc.
Se eu tenho várias dessas janelas abertas de uma vez, e eu clique com o meu mouse, quando eles desaparecem eles fazer a minha aplicação para perder o foco (que muda o foco para o app trás o atual).
Como faço para parar de qualquer interação na minha janela?
Solução 2
Depois de jogar com o WM_NCACTIVATE
mensagem sem sorte, eu anulava o WM_SETFOCUS
mensagem:
void CMyWindow::OnSetFocus(CWnd* pOldWnd)
{
if (pOldWnd != NULL)
{
pOldWnd->SetFocus();
}
}
Que parece não fazer o truque.Nenhuma idéia de por que ele funciona embora!Comentários de boas-vindas sobre o assunto.
Outras dicas
Ele funciona porque OnSetFocus (como muitos de* métodos) dá-lhe uma chance de antecipar-se a uma ação antes que ela realmente ocorre.O foco, na verdade, nunca muda para o seu não-interactivo.