FoxPro/Visual FoxPro - duda con formulario en un proyecto

   
Vista:

duda con formulario en un proyecto

Publicado por jose luis daylan@fcontinuas.com.cu (35 intervenciones) el 19/02/2014 21:26:00
yo quisiera que todos mis formularios que estan dentro de un proyecto asuman que la propiedad windowtype tenga como valor 1, pues a veces a mi cuando estoy diseñando algun form se me pueda olvidar ese valor.

de antemano muchas gracias por su ayudas amigos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

duda con formulario en un proyecto

Publicado por Fidel José (558 intervenciones) el 19/02/2014 21:36:06
José Luis:
La forma de hacer eso es crear una clase formulario con WindowType=1. Para ese tipo de form, es recomendable que Maxbutton=.f., MinButton=.f.. Y luego generas todos tus formularios a partir de esa clase.

Sin embargo, te comento que no me parece una buena práctica de programación. En general hacemos algunos esfuerzos para evitar tener que utilizar formularios WindowType=1, excepto allí justo cuando no queremos darle al usuario la oportunidad de hacer otra cosa.
Pienso que un sistema con todos sus Formularios WindowType=1 es lo más parecido a D.O.S. que vienen en Windows.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda con formulario en un proyecto

Publicado por jose luis daylan@fcontinuas.com.cu (35 intervenciones) el 19/02/2014 22:22:24
Señor Fidel José:

Estoy plenamente de acuerdo con ud, es que en realidad el sistema que estoy diseñando lo van a operar personas que no son muy agiles en el ordenador y tengo miedo que se les vaya el formulario en que estan trabajando, solo soy un programador de fox en msdos que mi novatada lo estoy haciendo en visual fox ya que el fox de window no me ofrecia lo que en realidad necesitaba, por eso necesito que me explique si es que pudiera hacerlo como crear la clase pues ese paso todavia no lo e hecho jamas, de antemano le estoy agradecido por su cooperacion mil gracias y disculpeme por pedirle esta explicacion, gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda con formulario en un proyecto

Publicado por Fidel José (558 intervenciones) el 20/02/2014 13:57:07
<Crear Clase Form>
1) En el Project Manager, seleccionas la ficha Class (o Classes)
2) Botón New
3) Formulario New Class
3.1) Coloca un nombre para tu clase de form, (p.ej,. FrmBase)
3.2) Based On: Seleccciona Form
3.3) Store In: Fijate el nombre de librería VCX donde quieres alojar la clase. Modifica la parte anterior a .vcx. Acá voy a suponer que la librería se llama "MiClase.vcx"
4) Botón Ok
Ahora te aparece un formulario. Trabajas igual que en el diseñador de formularios. Le pones WindowType=1,Minbutton=.f., MaxButton=.f., color de fondo y lo que quieras que aparezca en todos los formularios (Icono, imagen, algún método común a todos, etc).
5) Cuando haces click en la cruz de cierre, se generará la biblioteca si aceptas en el cuadro de diálogo.
</Crear Clase Form>

<Crear Form basado en una clase>
1) Project Manager * Seleccionar Ficha Documents (docs)
2) New - [New Form]
3) Aparece un formulario. Con el botón NewClasses puedes agregar a la barra de formularios los elementos de la clase que necesitas. Haz click ahí y busca en la carpeta LIBS de tu proyecto la librería creada ("MiClase.vcx"). Te aparecerá la clase form y lo demás que tenga la librería.
4) Pincha en el botón del form y arrástralo al formulario. Te aparece una consulta sobre crear un FormSet y le colocas Yes.
5) Desplaza un poco el formulario y verás que abajo todavía está el Form1 gris original. Cliquea ahí y en el menú selecciona Form / Remove Form
6) Ahora elimina el formset: Menú Form / Remove FormSet. Responde afirmativamente a la consulta subsiguiente
7) Colocale un nombre (Name) al formulario
8) Guarda el nuevo form con un nombre significativo. Siempre conviene que el Name del form coincida con el nombre del archivo scx que se genera al guardar.
</Crear Form basado en una clase>

Esto, que parece trabajoso, tiene la ventaja que si necesitas hacer un cambio en todos los formularios, solamente tienes que cambiar lo que fuere en la case form de la librería MiClase.vcx. Luego, los cambios se reflejarán en todos los formularios así creados. Puedes intentar cambiando el color de fondo, o el Icono.

Nota:
Si escribes código en los eventos LOAD, init, Activate, o cualquier otro y necesitas que en un formulario particular se ejecute además otro código, no olvides, después del código agregado al form basado en una clase, incluir la siguiente línea:
DODEFAULT()
De lo contrario, el formulario basado en una clase no ejecutará el código de herencia, sino solamente el que has escrito en el evento o método.

Cuando aprendas más sobre clases, puedes crear un formulario al vuelo mediante código
Acá se crea un formulario al vuelo y se le agregan dos cuadros de texto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
RELEASE oform
PUBLIC oform
oform=Newobject("FrmBase","MiClase")
with oform
         .top=5
         .left=20
         .Autocenter=.t.
endwith
oform.NewObject("Text1","Textbox")
oform.NewObject("Text2","Textbox")
with oform.Text1
         .top=5
         .left=10
         .Height=22
         .Width=100
         .visible=.t.
endwith
with oform.text2
         .top=oform.Text1.Top + oForm.Text1.Height + 2
         .left=oform.text1.left
         .Height=oform.text1.Height
         .Width=140
         .Visible=.t.
endwith
oform.Show()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda con formulario en un proyecto

Publicado por jose luis daylan@fcontinuas.com.cu (35 intervenciones) el 20/02/2014 14:54:12
Señor Fidel José:

Muchisimas gracias, de seguro lo hare como ud me a explicado claro que no lo aprendere de ahora para mañana crear tan rapido una clase pq eso se aprende con horas de trabajo y llega un momento que solo sale, disculpeme ud por molestarlo pero dicen que el que no pregunta no aprende y ademas con la pena de no preguntar no da nada bueno, luego que lo pruebe le dire como nos salio, si como nos salio pq ud puso un tremendo grano de maiz y el alumno aplicara lo que el maestro enseña.

Nosotros los cubanos somos muy agradecidos cuando nos ofrecen ayuda, asi que cualquier duda que ud crea que este modesto alumno lo pueda ayudar pues me lo pregunta.

gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda con formulario en un proyecto

Publicado por Fidel José (558 intervenciones) el 20/02/2014 16:37:55
Ve José Luis, en programación, la cosa es así;
1) El que no ensaya no aprende
2) El que nunca tiene errores, nunca programa realmente.
3) Realmente, aprendo desde mis errores, insistiendo, leyendo, averiguando...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

duda con formulario en un proyecto

Publicado por jose luis daylan@fcontinuas.com.cu (35 intervenciones) el 20/02/2014 19:20:00
Señor Fidel José:

Gracias y nuevamente amigo mio tiene ud razon, ya estoy poquito a poco armando el arroz con pollo como decimos por aca los cubanos a ver como sale, ya que estuve reunido y ahorita mismo vi su mensaje, en verdad no le respondo via internet por no tener ni en el trabajo ni en la casa, solo que los administradores dieron la posibilidad de usar esta web pq soy un simple programador y a veces del aire no sale las cosas y cuando tengo dudas entro y noblemente a preguntar mis dudas que a la vez son las de otros, si pq esta solucion que me dio ud tambien les sirve a otros que como yo entramos y queremos que al menos nos salga bien.

bueno pienso que mañana le dire como salio amigo mio,

mis saludos para usted y a toda la familia de la webdelprogramador.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar