Fórum Movendo form clicando na área #382258

28/07/2010

0

Olá,

Uso o seguinte código para mover o form clicando em qualquer área.

procedure WMNCHitTest(var M: TWMNCHitTest); message wm_NCHitTest;
procedure TfPrincipal.WMNCHitTest(var M: TWMNCHitTest);
begin
inherited;
if M.Result = htClient then
M.Result := htCaption;
end;

Contudo este método desativa inúmeros recursos, tais como hint, popup menu, etc; por se tratarem de objetos de detecção do mouse.

Gostaria de saber como fazer para mover meu form clicando em qualquer lugar do mesmo sem afetar outras funcionalidades.

Obrigado.
Jonny

Jonny

Responder

Posts

28/07/2010

Eriley Barbosa

Fiz o teste com a procedure abaixo e funcionou hint dos botões e pop-up menu ligado ao form pela propriedade PopUpMenu:   type
  TForm1 = class(TForm)
    private
    { Private declarations }
      procedure WMNCHitTest(var Msg: TMessage);
      message WM_NCHitTest;

  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.WMNCHitTest(var Msg: TMessage);
begin
  if GetAsyncKeyState(VK_LBUTTON) < 0 then
    Msg.Result := HTCAPTION
  else
    Msg.Result := HTCLIENT;
end;

end.   Atenciosamente   Eriley
Responder

Gostei + 0

28/07/2010

Jonny

Puxa, Nem em fóruns americanos consegui resolver isso, sem falar nos inúmeros fóruns do brasil.
Já tinha até me conformado em deixar minha aplicação limitada.

Valeu mesmo.

ps.: vou mandar outras postagens, quem sabe obtenho mais soluções de problemas bem difíceis.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar