Múltiplos monitores - como controlar a localização das caixas de diálogo

6

Eu trabalho em um sistema de quatro monitores com duas placas gráficas Nvidia de saída dupla. O software sortido ocasionalmente exibe caixas de diálogo com perguntas ou mensagens. Eu gostaria que as caixas de diálogo aparecessem sempre no mesmo monitor da janela principal do software - mas isso não acontece. Existe alguma maneira que eu possa dizer ao sistema em que monitor deve colocar as caixas de diálogo?

    
por Mick 21.03.2011 / 15:17

5 respostas

3

Tem sido minha experiência variar dependendo do aplicativo. Alguns estão fazendo chamadas do sistema para que as caixas de diálogo apareçam sempre no monitor "principal" ou "principal". Outros vão abrir de onde eles foram dispensados pela última vez. Ainda outros irão seguir o aplicativo e abrir em seu monitor. A inconsistência é além de frustrante e tendo usado sistemas XP multi-monitor durante a maior parte de uma década, posso dizer que não encontrei uma maneira de unificá-los. Inconsistências como essa foram uma das muitas razões pelas quais mudei para o Mac.

    
por 21.03.2011 / 15:26
2

existe um script VBS encontrado aqui chamado "PositionDialogs". Você o executa na inicialização do sistema e move qualquer caixa de diálogo aberta posteriormente para qualquer monitor em que o programa pai esteja sendo executado.

    
por 08.04.2016 / 16:30
1

Eu tenho uma Placa Multi-Monitor AMD FirePro. Esta placa suporta o HydraVision da AMD, que inclui um Desktop Manager. Uma das opções disponíveis é "Preservar tamanho e posição da aplicação", e há também uma opção para "Ativar reposicionamento da caixa de diálogo", que pode ser definida como "Exibir na exibição preferencial X" ou "Mostrar na exibição da aplicação".

    
por 06.02.2013 / 05:06
0

Apenas para complementar a resposta de @ peelman:

Para suportar vários monitores em um programa - você precisa chamar EnumDisplayMonitors e fornecer uma função de retorno de chamada para cada monitor. (No win32 api, para o assunto ...)

Veja o link para obter detalhes

    
por 21.03.2011 / 15:44
0

Eu tive esse mesmo problema no trabalho em um sistema Windows XP. A solução que encontrei foi usar uma linguagem de script chamada AutoIt . Existe uma biblioteca para trabalhar com por 21.03.2011 / 16:22