ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

{Resolvido}Como saber que o form foi minimizado?

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
junior103
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Julho de 2015
Mensagens: 204

MensagemEnviada: Ter Mai 09, 2017 10:20 am    Assunto: {Resolvido}Como saber que o form foi minimizado? Responder com Citação

Bom dia. Tenho um form e tenho uma classe com o nome de TdxTrayIcon.

na Classe TdxTrayIcon tenho o seguinte codigo
Código:
function WndProc(Code, WParam, LParam: Integer): LRESULT;
var
  msg: TCWPRetStruct;

begin;
   if (Code >= HC_ACTION) and (LParam > 0) then begin
      msg := PCWPRetStruct(LParam)^;
      if (msg.Message = WM_SIZE) and (msg.WParam = SIZE_MINIMIZED)then begin
        // Aki faz alguma coisa

      end;
   end;
   result := CallNextHookEx(WndProcHook, Code, WParam, LParam)

end;
initialization
   WndProcHook := SetWindowsHookEx(WH_CALLWNDPROCRET, @WndProc, 0, GetCurrentThreadId);
finalization
   UnhookWindowsHookEx(WndProcHook);


Eu gostaria que quando o form for minimizado a classe TdxTrayIcon seja acionada. Como fazer isso?


Editado pela última vez por junior103 em Ter Mai 09, 2017 4:49 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
viox
Colaborador
Colaborador


Registrado: Sábado, 22 de Outubro de 2011
Mensagens: 1090
Localização: SINOP - MT

MensagemEnviada: Ter Mai 09, 2017 11:37 am    Assunto: Responder com Citação

Não bastaria colocar um TApplicationEvents no Form e chamar seu método no evento OnMinimize de TApplicationEvents?
_________________
Just another Delphi guy.


http://www.soft42.com
http://www.nortaonegocios.com.br
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
junior103
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Julho de 2015
Mensagens: 204

MensagemEnviada: Ter Mai 09, 2017 11:50 am    Assunto: Responder com Citação

viox escreveu:
Não bastaria colocar um TApplicationEvents no Form e chamar seu método no evento OnMinimize de TApplicationEvents?


Estou usando firemonkey e não tem TApplicationEvents.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
junior103
Aprendiz
Aprendiz


Registrado: Quarta-Feira, 1 de Julho de 2015
Mensagens: 204

MensagemEnviada: Ter Mai 09, 2017 4:48 pm    Assunto: Re: Como saber que o form foi minimizado? Responder com Citação

junior103 escreveu:
Bom dia. Tenho um form e tenho uma classe com o nome de TdxTrayIcon.

na Classe TdxTrayIcon tenho o seguinte codigo
Código:
function WndProc(Code, WParam, LParam: Integer): LRESULT;
var
  msg: TCWPRetStruct;

begin;
   if (Code >= HC_ACTION) and (LParam > 0) then begin
      msg := PCWPRetStruct(LParam)^;
      if (msg.Message = WM_SIZE) and (msg.WParam = SIZE_MINIMIZED)then begin
        // Aki faz alguma coisa

      end;
   end;
   result := CallNextHookEx(WndProcHook, Code, WParam, LParam)

end;
initialization
   WndProcHook := SetWindowsHookEx(WH_CALLWNDPROCRET, @WndProc, 0, GetCurrentThreadId);
finalization
   UnhookWindowsHookEx(WndProcHook);


Eu gostaria que quando o form for minimizado a classe TdxTrayIcon seja acionada. Como fazer isso?


Mudei na seguinte linha Antes:
Código:
function WndProc(Code, WParam, LParam: Integer): LRESULT;
Depois:
Código:
function WndProc(Code, WParam, LParam: Integer): LRESULT;stdcall;
Dai funcionou
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB