Jump to content
Fórum Script Brasil
  • 0

Botão Do Relagem Do Mouse No Relatorio.


Carlinhos
 Share

Question

2 answers to this question

Recommended Posts

  • 0
estou fazendo relatorios com o componente quickrep, mas o botão de rolagem do mouse não funciona, gostaria de saber se tem como faze-lo funcionar?

Opa, caso esteja usando MDIForm, verifique se a propriedade auto-scroll do form esta TRUE...

Publicado por ActiveDelphi : Quarta, Maio 31, 2006 - 08:14 AM GMT-3

:rolleyes:

Você já deve ter notado que os controles do Delphi, por padrão, não executam o comando "scroll" dado pelo botão wheel (roda) do mouse. Para que eles executem tal função, devemos detectar quando este botão é 'pressionado', e então, executar o scroll. Seguindo os passos abaixo, veremos como:

1- Declare na seçao private do form principal, o seguinte procedimento:

...

type

TForm1 = class(TForm)

private

{ Private declarations }

procedure OnMessageOwn(var Msg: TMsg; var Handled: Boolean);

public

{ Public declarations }

end;

...

2 - Implemente-o como abaixo:

procedure TForm1.OnMessageOwn(var Msg: TMsg; var Handled: Boolean) ;

var i: SmallInt;

begin

if Msg.message = WM_MOUSEWHEEL then

begin

Msg.message := WM_KEYDOWN;

Msg.lParam := 0;

i := HiWord(Msg.wParam) ;

if i > 0 then

Msg.wParam := VK_UP

else

Msg.wParam := VK_DOWN;

Handled := False;

end;

end;

3- No evento onCreate do Form, basta ativar o procedimento:

procedure TForm1.FormCreate(Sender: TObject);

begin

Application.OnMessage := OnMessageOwn;

end;

Com isso o "scroll" do mouse funcionará em toda a aplicação, ativando todos os controles que tiverem barra de rolagem!

Edited by B3co.ol
Link to comment
Share on other sites

  • 0
estou fazendo relatorios com o componente quickrep, mas o botão de rolagem do mouse não funciona, gostaria de saber se tem como faze-lo funcionar?

Opa, caso esteja usando MDIForm, verifique se a propriedade auto-scroll do form esta TRUE...

Publicado por ActiveDelphi : Quarta, Maio 31, 2006 - 08:14 AM GMT-3

:rolleyes:

Você já deve ter notado que os controles do Delphi, por padrão, não executam o comando "scroll" dado pelo botão wheel (roda) do mouse. Para que eles executem tal função, devemos detectar quando este botão é 'pressionado', e então, executar o scroll. Seguindo os passos abaixo, veremos como:

1- Declare na seçao private do form principal, o seguinte procedimento:

...

type

TForm1 = class(TForm)

private

{ Private declarations }

procedure OnMessageOwn(var Msg: TMsg; var Handled: Boolean);

public

{ Public declarations }

end;

...

2 - Implemente-o como abaixo:

procedure TForm1.OnMessageOwn(var Msg: TMsg; var Handled: Boolean) ;

var i: SmallInt;

begin

if Msg.message = WM_MOUSEWHEEL then

begin

Msg.message := WM_KEYDOWN;

Msg.lParam := 0;

i := HiWord(Msg.wParam) ;

if i > 0 then

Msg.wParam := VK_UP

else

Msg.wParam := VK_DOWN;

Handled := False;

end;

end;

3- No evento onCreate do Form, basta ativar o procedimento:

procedure TForm1.FormCreate(Sender: TObject);

begin

Application.OnMessage := OnMessageOwn;

end;

Com isso o "scroll" do mouse funcionará em toda a aplicação, ativando todos os controles que tiverem barra de rolagem!

não consegui!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...