Manter a janela de outro aplicativo ativo enquanto ainda recebe eventos do mouse da janela de outro aplicativo?
-
21-09-2019 - |
Pergunta
Existe uma maneira de fazer com que o teclado e/ou os eventos do mouse do meu aplicativo (ou seja, o usuário clicando nos botões da janela), mantendo o foco para outro aplicativo não relacionado?
Tentei configurar minha janela em diferentes níveis, incluindo [MyWindow Setlevel: NSpopupMenuWindowLevel] sem sucesso.
Solução 2
Encontrei. Simples, mas ilusório.
Use o NSPALEL e verifique se o estilo do painel não está ativando (NSNonActivatingPanelMask) ou marque a mesma opção no inspetor do IB.
Outras dicas
Você deve lidar com os cliques do mouse sem pedir a frente da sua janela, fazendo suas vistas (pelo menos aquelas que lidam com os cliques do mouse) respondem a acceptsFirstMouse:
mensagens enviando NSApp
uma preventWindowOrdering
mensagem e depois retornando YES
.
Você não deve fazer o seu aplicativo identificar digitar sem pedir a si mesma frente. O usuário pode não perceber para onde está indo a digitação se o campo onde está aparecendo for obscurecido por outra janela.