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;
.......
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); 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