Agregar propiedades a Form desde prg

Hola Sr Alonso! Le he realizado algunas consultas y sus orientaciones han sido magnificas! Mil disculpas por la molestia.. Pero me gustaría preguntarle nuevamente. Mi duda es: ¿Cómo agrego las propiedades a un form que estoy creando desde un prg? En este tema si que soy bien nueva, pues no había tenido oportunidad de estudiar bien esta parte. Pude crear el form en prg y llamarlo desde un boton de un form principal asi:
frmMyForm = CREATEOBJECT('form')              && Create a Form.
frmMyForm.Closable = .t.                      && Disable Control menu.
frmMyForm.SHOW (1)
Pero no se como hacer para ponerle propiedades como: backcolor, borderstyle, witdh, height, top, left... Y especialmente como convertirlo a un form de nivel superior con ShowWindow=2... Así como agregarle objetos! ¿Se puede hacer esto? Se que hay varias maneras de generar un form con prg pero esta es la única que se! Gracias por su ayuda!   (^_^)!

1 respuesta

Respuesta
1
Las propiedades que mencionas como backcolor, borderstyle, witdh, height, top, left cuando creas un formulario con la función CreateObject() ya existen, a esas les puedes asignar valor sin Visual FoxPro te muestre un mensaje de error por ejemplo:
Local lcMiFormulario
lcMiFormulario = CreateObject("Form")
With lcMiFormulario
    .Left = 25
    .Top = 30
    .Width = 150
    .Heigth = 120
    .BackColor = Rgb(255,255,255)
    .BorderStyle = 2
    .ShowWindow = 2
    .Show()
Endwith
Para que te guíes mejor sobre las propiedades existentes de un formulario crea o abre uno en modo de diseño y examina la ventana de propiedes del formulario, allí está todo la información referente al formulario.
Si el formulario no tiene una propiedad existente pero necesitas que exista entonces la agregas de la siguiente manera:
LcMiFormulario. AddProperty("Fecha", Date())
Y el formulario ya tiene una nueva propiedad a la que le has asignado un valor de tipo fecha y puedes cambiarlo en líneas posteriores común y silvestre ejemplo:
lcMiFormulario.Fecha = Date() - 3
Esa es la solución.
Estimado Señor Alonso, estoy muy complacida con la respuesta! Era exactamente lo que buscaba! Solo quisiera pedirle una aclaración breve: Cuando ejecuto el form con la propiedad SHOWWINDOW=2 para ponerlo como nivel superior, no es posible verlo y genera un error, pero solo con esta propiedad.. puesto que si la quito, e incluso agrego otras más, el form se genera sin problemas! ¿Podría orientarme que hacer? Mil gracias por su respuesta! :D :D :D :D
Lo siento se me había olvidado que esa propiedad es de solo lectura en tiempo de ejecución :xD, osea este valor se debe almacenarlo en modo de diseño.
Si lo que necesitas es mostrarlo como un formulario de nivel superior, crea una clase de formulario estableciendo su propiedad ShowWindow a 2, guárdalo y lo puedes llamar con la función CreateObject().
Esa es la solución al problema.
Ok! Realizare lo que me orienta! Estoy muy agradecida por su disposición a ayudar a quienes necesitamos una mano! Mil gracias por su tiempo y dedicación! Exitoss y bendiciones Sr. Alonso! :D :D :D :D

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas