Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lugao

barra de rolagem com scroll do mouse

Recommended Posts

to precisando de colocar o delphi pra rolar o formulario pra cima e pra baixo de acordo com o scroll do mouse, nem sei se eh esse nome, aquela bolinha q fica na parte superior no meio dos botoes......o form eh muito grande e tem um page control cobrindo ele todo........sera q alguem pode me ajudar???? vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer o seguinte no evento onMouseWheel

 

procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);var  codigo, mesagem: Cardinal;  x: Integer;beginif WindowFromPoint(mouse.Cursorpos ) = scrollbox1.Handle then	begin	Handled:=True;	if ssShift In Shift then		mesagem:=WM_HSCROLL	else		mesagem:=WM_VSCROLL;	if WheelDelta < 0 Then		codigo:=SB_LINEDOWN	else		codigo:=SB_LINEUP;	for x:=1 to Mouse.WheelScrollLines do		scrollbox1.Perform(mesagem,codigo,0);	scrollbox1.Perform(mesagem,SB_ENDSCROLL,0);	end;end;
Neste caso vai fazer uma rolagem sobre um ScrollBox.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, deu nao... substitui scrolbox por pagecontrol q eh o meu caso aqui, mas nao rolou nao... sera q tenho q alterar algo alem do nome? vlw..

Compartilhar este post


Link para o post
Compartilhar em outros sites

mudei meu codigo pra tabsheet, e ficou assim, mas minha barra de rolagem se encontra no formulario, do lado direito, e nao na tabsheet, e mesmo alterando pra isso aeh, nao deu nao.......procedure TFCusteioPecuario.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);var codigo, mesagem: Cardinal; x: Integer;beginif WindowFromPoint(mouse.Cursorpos ) = tabsheet1.Handle then begin Handled:=True; if ssShift In Shift then mesagem:=WM_HSCROLL else mesagem:=WM_VSCROLL; if WheelDelta < 0 Then codigo:=SB_LINEDOWN else codigo:=SB_LINEUP; for x:=1 to Mouse.WheelScrollLines do tabsheet1.Perform(mesagem,codigo,0); tabsheet1.Perform(mesagem,SB_ENDSCROLL,0); end;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.