Pergunta

Eu estou tentando executar este em um temporizador:

Application.Minimize;
ShowWindow( Application.handle, SW_HIDE );

Tem sido no código para sempre e nós só descobriu que ele não funciona quando você tem um popupmenu ativo, ele não minimiza a janela de MDI pai.

I figura se eu posso fechar o menu pop-up antes de executar este código, então eu vou estar ok. O problema é que este código está em um pai MDI e não tenho idéia de onde o menu pop-up atual. Não importa se é parte da barra de ferramentas de outra forma, esta barra de ferramentas formulários, o produto de um clique direito ou aquela chave aparentemente sem sentido ao lado da barra de espaço.

Assim, há uma maneira de esconder o menu pop-up ativo em todo o meu programa?

Além disso, se há um melhor pedaço de código do que o que eu estou usando para minimizar isso vai contornar este problema, que seria Informações incrível também.

Foi útil?

Solução

Para fechar um menu pop-up você pode usar

  if GetCapture <> 0 then
    SendMessage(GetCapture, WM_CANCELMODE, 0, 0);

em seu código antes de tentar minimizar o formulário.

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