Ver Mensaje Individual
  #1  
Antiguo 31-07-2020
MaxiDucoli MaxiDucoli is offline
Miembro
 
Registrado: feb 2006
Posts: 134
Reputación: 19
MaxiDucoli Va por buen camino
Elementos de un TScrollBox

Buenas tardes o noches o días, según donde estemos.

Estoy haciendo pruebas con un TMultiView por que me gustó la idea de hacer un proyecto en varias capas o diferentes vistas y agregarlas como si fueran todas una a medida que las vaya necesitando-

La cuestión es que tengo un TForm y un TMultiView al cual le agregué un TScrollBox.
Mediante un código le agrego varios TImage al TScrollBox y no sé como hacer para obtener el elemento que está scrolleando o capaz que no haya elemento que esté scrolleando pero me gustaría que un elemento de ese TScrollBox sea seleccionado cada vez que haga para arriba o para abajo y si lo tuviese en horizontal cada vez que haga de izquierda a derecha.

Les pongo el código que tengo para poner los TImage que es lo único que logré hasta ahora.

Código Delphi [-]
procedure TForm1.btn1Click(Sender: TObject);
var
aImage : array [0..15] of TImage;
i,j : Integer;
begin

for i  := 0 to Length(aImage) - 1 do
  begin
    aImage[i] := TImage.Create(nil);
    //aImage[i].Parent := ScrollBox1;
    ScrollBox1.Content.AddObject(aImage[i] as TImage);
    aImage[i].MultiResBitmap.Add.Bitmap.LoadFromFile
    ('d:\TEMP\' + i.ToString + '.png');
    aImage[i].WrapMode := TImageWrapMode(2);
    aImage[i].Margins.Left := 0;
    aImage[i].Margins.Right := 5;
    aImage[i].Margins.Top := 5;
    aImage[i].Margins.Bottom  := 5;
    aImage[i].Visible := true;
    aImage[i].Align := TAlignLayout(1);
    aImage[i].Tag := i;
    ScrollBox1.RealignContent;
  end;
  ScrollBox1.SetFocus;

 //j := ScrollBox1.Content.Controls.Count ;
 //ShowMessage(j.ToString);

end;


Mi idea es pintar el elemento que quede en el medio del TScrollBox y que sea el seleccionado cada vez que muevo los TImage para algún lado, pero no hay nada que sea Item o ItemIndex que me sea útil como para saner qué elemento es el central.
Creo que lo que sea que tengo que hacer iría en el evento OnPaint del TScrollBox pero hasta ahí llego.

Alguien que conozca del tema?
Responder Con Cita