Ver Mensaje Individual
  #2  
Antiguo 28-03-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Contestando al título, para centrar un TImage en un TScrollBox podes hacer:
Código PHP:
...
  
Image->Left = ( ScrollBox->Width  Image->Width  ) / 2;
  
Image->Top  = ( ScrollBox->Height Image->Height ) / 2
Y si entendí bién la consulta del mensaje, lo haría al modo de este ejemplo:
Código PHP:
// (valores a tu gusto)
TPoint pos = (Point)( 11);
int inc    10;

void __fastcall TForm1::FormCreate(TObject *Sender)
{
  
Image2->Left pos.x;
  
Image2->Top  pos.y;
}

void __fastcall TForm1::FormKeyDown(TObject *SenderWORD &Key,
      
TShiftState Shift)
{
  
TRect sbr ScrollBox1->ClientRect// rect. cliente

  // tratamiento de teclas
  
switch ( Key ) {
   case 
VK_LEFT  pos.-= inc; break;
   case 
VK_RIGHT pos.+= inc; break;
   case 
VK_UP    pos.-= inc; break;
   case 
VK_DOWN  pos.+= inc; break;
  }

  
// desplazamiento horizontal
  
if ( pos.) {
    
ScrollBox1->ScrollByinc);
    
pos.0;
  }

  if ( 
pos.Image2->Width sbr.right ) {
    
ScrollBox1->ScrollBy( -inc);
    
pos.sbr.right GetSystemMetricsSM_CXHSCROLL ) + 2;
  }

  
// desplazamiento vertical
  
if ( pos.0) {
    
ScrollBox1->ScrollBy0inc );
    
pos.0;
  }

  if ( 
pos.Image2->Height sbr.bottom ) {
    
ScrollBox1->ScrollBy0, -inc );
    
pos.sbr.Bottom GetSystemMetricsSM_CXVSCROLL ) + 2;
  }

  
Image2->Left pos.x;
  
Image2->Top  pos.y;

Resultado:



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita