Interromper Evento
06/12/2003
0
Estou utilizando a procedure de capitura de mensagem da API para disparar o evento: procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
Quando outro evento for disparado:
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
quero que o primeiro seja encerrado.
O problema é que o primeiro procedimento tem um laço for um pouco demorado, e com isto o outro procedimento só está sendo disparado quando o laço for é concluído.
Raserafim
Posts
06/12/2003
Beppe
o No CM_MOUSELEAVE, coloque FMouseSaiu := True;
o No CM_MOUSEENTER, antes de outra coisa, coloque FMouseSaiu := False;
Dentro do loop, cheque se a variável mudou.
Ex: [b:175bb3b17b]if[/b:175bb3b17b] FMouseSaiu [b:175bb3b17b]then[/b:175bb3b17b] Break;
OBS: você precisa chamar Application.ProcessMessages(ou similar) no loop para que CM_MOUSE possa ser processada.
08/12/2003
Raserafim
O problema é que o evento de quando o mouse sai do botão não está sendo disparado no momento exato em que ocorre.
Como posso resolver isto?
Que outro comando é semelhante ao ProcessMessage?
10/12/2003
Raserafim
10/12/2003
Nigro
12/12/2003
Raserafim
Quero apenas que o delphi dispare o evento assim que o mouse sair do botão, já que o procedimento de quando entrou no botão ainda pode estar sendo processado, mas já utilizei o ProcessMessage mas isso não resolveu.
O que devo tentar agora?
Clique aqui para fazer login e interagir na Comunidade :)