Ver Mensaje Individual
  #7  
Antiguo 18-04-2023
ByNaR10 ByNaR10 is offline
Registrado
 
Registrado: may 2006
Posts: 1
Reputación: 0
ByNaR10 Va por buen camino
En c++ builder Yo meto todos los controles dentro de un VertScrollBox y en los eventos onVirtualKeyboardShown y onVirtualKeyboardHidden del formulario ejecuto lo siguiente, puedes usar l IA para que te lo traslade a Delphi:

bool keyvisible;
TRectangle *rectkeyboard; //Este es un objeto visual invisible que lo pongo alineado al bottom para que siempre este en la parte baja de la pantalla

void __fastcall TFormGasto::FormVirtualKeyboardShown(TObject *Sender, bool KeyboardVisible,
const TRect &Bounds)
{
TRectF LFocusRect;
FKBBounds = TRectF(Bounds);
rectkeyboard->Height = FKBBounds.Height() - rtgfooter->Height;
rectkeyboard->Visible = true;
keyvisible = true;

try{
if (ActiveControl) {
LFocusRect = ActiveControl->AbsoluteRect;

LFocusRect.Offset(VertScrollBox1->ViewportPosition.X, VertScrollBox1->ViewportPosition.Y);
VertScrollBox1->ViewportPosition = PointF(VertScrollBox1->ViewportPosition.X, LFocusRect.top - VertScrollBox1->Height);
}
}__finally{
}
}
//---------------------------------------------------------------------------

void __fastcall TFormGasto::FormVirtualKeyboardHidden(TObject *Sender, bool KeyboardVisible,
const TRect &Bounds)
{
rectkeyboard->Visible = false;
keyvisible = false;
}
Responder Con Cita