Ver Mensaje Individual
  #16  
Antiguo 21-10-2013
Avatar de FideRosado
FideRosado FideRosado is offline
Miembro
 
Registrado: jun 2010
Ubicación: Pinar del Rio Cuba
Posts: 146
Reputación: 17
FideRosado Va por buen camino
actualizacion del contenido scrollbox

tienes razon .. en eso me di cuenta ,, aca les pongo un a actualizacion del codigo, diciendole a los componentes que si el padre es scrollbox lo haga .. aun se puede mejorar , ve probandolo aver si llegas a mejorarlo..
pero bueno a mi me funcioina perfectamente..

Código Delphi [-]
procedure TForm1.MouseWheel(var Msg: tagMSG; var Handled: Boolean);
var
  FControl: TWinControl;
   i: SmallInt;
   o: integer;
   Scom: TComponent;
begin
    FControl:= FindVCLWindow(Mouse.CursorPos);
    i:= HiWord(Msg.wParam);
    if Assigned(FControl) and (Msg.message = WM_MOUSEWHEEL) then begin
  try

        if ( FControl.Parent is TScrollBox) then begin
            if i > 0 then begin
                with TScrollingWinControl(FControl.Parent).VertScrollBar do begin
                    if TScrollBox(FControl.Parent).VertScrollBar.Range > 0 then begin
                        Position:= Position - Increment;
                    end;
                end;
            end else begin
                with TScrollingWinControl(FControl.Parent).VertScrollBar do begin
                if TScrollBox(FControl.Parent).VertScrollBar.Range > 0 then begin
                        Position:= Position + Increment;
                    end;
                end;
            end;
    end else begin
      if ( FControl.Parent.Parent is TScrollBox) then begin
            if i > 0 then begin
                with TScrollingWinControl(FControl.Parent.Parent).VertScrollBar do begin
                    if TScrollBox(FControl.Parent.Parent).VertScrollBar.Range > 0 then begin
                        Position:= Position - Increment;
                    end;
                end;
            end else begin
                with TScrollingWinControl(FControl.Parent.Parent).VertScrollBar do begin
                if TScrollBox(FControl.Parent.Parent).VertScrollBar.Range > 0 then begin
                        Position:= Position + Increment;
                    end;
                end;
            end;

    end;
     ///////////////
    end;

  except
      next;
  end;
    end;
   Handled := False;
end;

Última edición por FideRosado fecha: 21-10-2013 a las 19:05:43. Razón: actualizar
Responder Con Cita