Menús

Ante todo te agradezco la atención. Tengo una aplicación cuya ventana principal es un menu. Como puedo hacer para que esta ventana tenga como fondo una imagen, ¿sin utilizar un formulario?
Respuesta
1
La sugerencia que hago es por medio de iconos en el screen, esto se hace de la siguiente manera
1. Debe de tener un programa principal
2. Debe crear una clase, puede ser de tipo imagen, o botón, de todos modos una clase que tenga evento click o dblclick, en este evento puede colocar algo parecido a :
If !empty(this.tServicio)
cejecute=this.tservicio
&cejecute
Endif
TServicio : es una propiedad que debe crear en la clase, con el fin de ejecutar una tarea, por ejemplo "do form inicial" o puede ser wait window "En proceso de desarrollo"
cejecute=this.tservicio : se asigna este valor a una variable
&cejecute : ejecuta el contenido de la variable
En el init de la clase puede agregar el siguiente código, en el caso de que la clase tenga un tooltiptext, esto como ayuda para el usuario
this.ToolTipText = ctooltip
y puede hacer que estos iconos se puedan mover en la pantalla...
3. en el cuerpo del progama principal va a agregar un codigo parecido al siguiente :
do creaacceso with "icono4", 129, 45, path_img + 'icono4.bmp', .t., 'do form inicial', 'Pantalla de presentación'
y en el mismo programa coloque lo siguiente :
procedure creaacceso
parameters onombre, ntop, nleft, tpicture, lvisible, tservicio, ctooltip
with _screen ** Evitar codigo más extenso
if type('_screen.' + onombre) # 'O' ** se pregunta si el objeto no existe
.addobject(onombre, "icono") ** como no existe se crea
.&onombre..top = ntop ** ubica el objeto en el punto superior
.&onombre..left = nleft ** ubica el objeto en el extremo izquierdo
.&onombre..picture = tpicture ** da una imagen al objeto
.&onombre..visible = lvisible ** indica si es visible
.&onombre..tservicio = tservicio ** el proceso que va a ejecutar
.&onombre..ctooltip = ctooltip ** el mensaje de ayuda
endif
endwith
return
Para el ejemplo anterior fue con una clase imagen, es comprensible que no se amuy visible con una explicación tan corta, si desea envíeme un correo electrónico y le envío un ejemplo.
Cordial saludo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas