ahora no entiendo si te refieres a que el usuario pueda cambiar el fondo de la pantalla principal de vfp o de cualquier formulario.
supondre que te refieres a la pantalla de vfp
bueno yo suelo darle a mis usuarios la facilidad de poder cambiar el fondo.
fondo de imagen que ellos quieran ponerle a la pantalla
osea, pantalla del sistema.
tan solo agrego una opcion mas en alguna parte del menu, asi:
Cambiar el fondo de la pantalla
al clickear ahi activo un formulario que tan solo tiene los siguientes elementos:
+----------------------------------------------------------------------------------------+
| Fondo de pantalla ___________________________ [ - ][ ][ x ] |
| |
| Especifique el fondo de la pantalla: |
| [ d:\Mis documentos\Mis imágenes\Mi imagen.jpg ] [Examinar...] |
| |
| [ Aceptar ] [ Cancelar ] |
+----------------------------------------------------------------------------------------+
en el texbox tan solo ingresamos la ruta que contiene la imagen
si no sabemos donde esta la imagen hacemos click en el boton Examinar
en el evento click del boton Examinar agregamos lo siguiente:
thisform.txtFondoDePantalla.value=getfile('jpg;bmp')
eso activa el cuadro de dialogo abrir para asi buscar la imagen y seleccionarla.
del boton Aceptar, evento click, agregamos:
_screen.picture=thisform.txtFondoDePantalla.value
release thisform
intenta siempre sugerir que las imagenes que elijan tengan la misma o casi resolucion de la pantalla actual. porque sino, o se cortara o se rellenara la imagen hasta que quepe en pantalla.
bueno y te preguntaras pero que pasa si cierran el sistema, que pasa con la imagen, claro esa ruta la tienes que guardar en alguna parte.
yo particularmente tengo una tabla con un solo registro
es una tabla donde guardo datos de la empresa.
tabla donde tengo ademas un campo que llamo fondo_de_pantalla, si tu tabla es una tabla libre entonces el campo lo llamo fondo, de tipo memo o caracter si lo prefieres pero dale el ancho maximo de 254. y cada vez que tu sistema inicie en el prg principal deberas agregar lineas de comando como abrir la tabla, capturar la ruta de imagen y establecerlo en _screen.picture=<nombre del campo que contiene la ruta de imagen>
saludos.