Ver Mensaje Individual
  #3  
Antiguo 14-04-2011
arrayman arrayman is offline
Miembro
 
Registrado: abr 2006
Posts: 55
Reputación: 19
arrayman Va por buen camino
hola ecfisa
ante todo muchas gracias por tu respuesta, justo acabo de probarla, y si,el scrool horizontal aparece, pero no, no soluciona mi problema. perdona si mi delphi esta oxidado, primero pense que tenia que modificar en la unidad forms de la vcl. (ya dije lo de oxidado? ). en fin despues probe a poner el codigo en el form donde tengo el frame del visor pero no salta el evento, asi que me lo lleve al frame visor y alli si que funciona el problema es que la barra horizontal ocupa todo scrollbox con lo que no hace scrooll pongo una imagen para que te hagas una idea.

pongo tambien el codigo que he puesto, por si algo hice mal.
Código Delphi [-]
......
type
  TScrollBox = class(Forms.TScrollBox)
  private
    procedure WMNCCalcSize(var Message: TMessage); message WM_NCCALCSIZE;
  end;

  TVisorFra = class(TFrame)
    ScrollBox1: TScrollBox;
.......


{ TScrollBox }

procedure TScrollBox.WMNCCalcSize(var Message: TMessage);
var
  Style: Integer;
begin
  Style:= GetWindowLong(Handle, GWL_STYLE);
  SetWindowLong(Handle, GWL_STYLE, Style or WS_HSCROLL or WS_VSCROLL); // agrega: or WS_VSCROLL); para ver ambas
  inherited;
end;

supongo que me falta algo para indicar al scrollbox que el tamaño es diferente, y la barra se adapte .

un saludo y gracias otra vez
Responder Con Cita