Ir para conteúdo
Fórum Script Brasil
  • 0

Botão Do Relagem Do Mouse No Relatorio.


Carlinhos

Pergunta

2 respostass a esta questão

Posts Recomendados

  • 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!

Editado por B3co.ol
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...