Estou criando um programa que utiliza um campo memo.
Ele tem dois formulários :
1) Principal (onde está o campo memo)
2) Menu (Estilo da borda = Nenhum / PopUp)
O form Menu é colocado por cima do form Principal. Criei uma rotina que faz com que ao mover o form Principal, o form Menu se mova junto e se mantenha na mesma posição relativa ao Principal.
Para obter o valores de deslocamento do form Principal (que são passados para o form Menu) utilizo o evento No cronômetro em ambos os forms.
O problema é que esses eventos continuam ocorrendo mesmo quando o form Principal não está sendo movimentado.
A estratégia que imaginei para evitar esse inconveniente é definir o TimerInterval para o valor desejado nos eventos ao apertar a tecla esquerda do mouse sobre a barra de títulos do form Principal ( então movimentá-lo) e definir o TimerInterval = zero quando soltar a tecla do mouse (o movimento do form acabou). Dito de outra maneira, gostaria de "ligar" o evento No cronômetro ao apertar a tecla esquerda do mouse e "desligar" esse evento ao soltar essa tecla.
Imagino que a solução seja uma rotina que use API e que :
1) Detecte que foi dado um clic na barra de título
2) Detecte qual tecla do mouse está sendo usada
3) e se foi um "MouseDown" ou um "MouseUp"
Se alguém souber com se faz isso, eu agradeço a ajuda.
Obs: A razão dessa configuração é que assim posso usar uma opção do Menu sem que o cursor se desloque da posição em que está dentro do campo memo (ou seja sem que o campo memo perca o foco).
Ele tem dois formulários :
1) Principal (onde está o campo memo)
2) Menu (Estilo da borda = Nenhum / PopUp)
O form Menu é colocado por cima do form Principal. Criei uma rotina que faz com que ao mover o form Principal, o form Menu se mova junto e se mantenha na mesma posição relativa ao Principal.
Para obter o valores de deslocamento do form Principal (que são passados para o form Menu) utilizo o evento No cronômetro em ambos os forms.
O problema é que esses eventos continuam ocorrendo mesmo quando o form Principal não está sendo movimentado.
A estratégia que imaginei para evitar esse inconveniente é definir o TimerInterval para o valor desejado nos eventos ao apertar a tecla esquerda do mouse sobre a barra de títulos do form Principal ( então movimentá-lo) e definir o TimerInterval = zero quando soltar a tecla do mouse (o movimento do form acabou). Dito de outra maneira, gostaria de "ligar" o evento No cronômetro ao apertar a tecla esquerda do mouse e "desligar" esse evento ao soltar essa tecla.
Imagino que a solução seja uma rotina que use API e que :
1) Detecte que foi dado um clic na barra de título
2) Detecte qual tecla do mouse está sendo usada
3) e se foi um "MouseDown" ou um "MouseUp"
Se alguém souber com se faz isso, eu agradeço a ajuda.
Obs: A razão dessa configuração é que assim posso usar uma opção do Menu sem que o cursor se desloque da posição em que está dentro do campo memo (ou seja sem que o campo memo perca o foco).