Amigo, hacer teclados virtuales en VFP no es para nada dificil. VFP
cuenta con una instruccion llamada KEYBOARD que te permite enviar al
buffer de teclado cualquier tecla o combinacion de teclas posible,
incluyendo cosas como SHIFT, ALT, etc.
Mi recomendacion es que empiezes por crear una subclase de
CommandButton que contenga una propiedad donde almacenaras el texto a
enviar con KEYBOARD cuando dicho boton sea pulsado; digamos que la
llamas cOSKButton. Luego, programas el evento click de la subclase
para que al pulsar el boton se emita el comando KEYBOARD con lo que
sea que tenga el boton en la propiedad que creaste.
Hecho esto, creas una clase basada en Container e instancias tu clase
cOSKButton una vez por cada tecla que quieras en tu teclado, los
organizas segun la distribucion visual que quieras y ya por ahi tienes
la base para luego ir perfeccionandolo.
Saludos
Victor Espina