Tengo dos formularios (FORM1 y Teclado), cuando se pincha en una caja de texto de FORM1 (evento MouseDown) debe mostrarse el form Teclado ya que el usuario quiere editar ese texto, este es el evento concreto (vGlobal es un módulo donde defino variables globales):
Hasta aquí todo ok. Cuando Form2 se abre calculará la posición de TX1, el tamaño de Form1, hará una serie de procesos para mostrarlo a la altura que lo tiene que mostrar (como funcionaría por ejemplo en un teléfono móvil) por ejemplo esto es parte de lo que hace el formulario Teclado para que ambos ocupen 480 pixels que es lo que tiene el panel táctil:
y el foco debería volver a la caja de texto a la espera de que el usuario haga click en cualquier zona del formulario Teclado, lo que generará que en la caja de texto se inserte la tecla que toque. Y todo eso funciona bien, pero no se muestra el cursor. Para devolver el foco uso:
vGlobal.CajaTexto.setfocus
Pero no me hace ni caso, el efecto que persigo es que el cursor aparezca en la caja de texto en la que el usuario pulsó pero como no consigo que el foco vuelva, no sale, entendiendo por foco lo mismo que sucedería en VB6, que no se si en gambas es un concepto diferente.
¿Alguna idea? Es más un tema estético que otra cosa porque el programa funciona, pero con el cursor quedaría mejor.