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