Fórum Manipular CM_MOUSEENTER #184637

27/09/2003

0

Gostaria de saber como faço para manipular mensagens do Windows com outros tipos de controles (TControl).

Por exemplo, eu sei que para saber se movi uma janela em tempo de execução, crio uma procedure na seção private assim:

procedure WMJanelaMoveu(var Msg: TMessage);message WM_MOVE;

Até aí beleza, mas por exemplo, quero saber se o cursor do mouse passou sobre o botão com a mensagem CM_MOUSEENTER em tempo de execução também.

Só sei fazer qdo. crio um outro componente TButton, que já herda direto da classe TButton.

Obrigado pela atenção!
:?:


Marcioih

Marcioih

Responder

Posts

27/09/2003

Cebikyn

É mais ou menos assim:

type
  TForm1 = class(TForm)
    ...
  private
    { Private declarations }
    procedure WndProc(var Message : TMessage); override;
  public
    { Public declarations }
  end;

...

procedure TForm1.WndProc(var Message : TMessage);
begin
  if Message.LParam = Longint(nome_do_componente) then
  begin
    if (Message.Msg = CM_MOUSELEAVE) then
      // Código para CM_MOUSELEAVE
    if (Message.Msg = CM_MOUSEENTER) then
      // Código para CM_MOUSEENTER
  end;
  inherited WndProc(Message);
end;



Responder

Gostei + 0

02/12/2010

Paulo


É mais ou menos assim:

[code:1:1485813df0]type
  TForm1 = class(TForm)
    ...
  private
    { Private declarations }
    procedure WndProc(var Message : TMessage); override;
  public
    { Public declarations }
  end;

...

procedure TForm1.WndProc(var Message : TMessage);
begin
  if Message.LParam = Longint(nome_do_componente) then
  begin
    if (Message.Msg = CM_MOUSELEAVE) then
      // Código para CM_MOUSELEAVE
    if (Message.Msg = CM_MOUSEENTER) then
      // Código para CM_MOUSEENTER
  end;
  inherited WndProc(Message);
end;[/code:1:1485813df0]


 

Caro amigo, este post vai me ajudar a resolver um grande problema, porem não estou sabendo como usa-lo, ou seja, como e quando vou acionar o WndProc...
Obrigado....
Responder

Gostei + 0

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

Aceitar