FoxPro/Visual FoxPro - ventanas modales

 
Vista:

ventanas modales

Publicado por edgardvd (135 intervenciones) el 09/08/2011 18:12:06
hola amigos

eh tenido este problema desde hace mucho y nadie me ha podido ayudar al respecto desde que usaba vfp6 y ahora uso vfp9 sp2

el problema esta en las ventanas modales ejemplo: mando llamarla

do form formamodal to nvar

al ejecutar la ventana modal aparece encima bloqueando todas las ventanas de atras lo cual es lo correcto, pero aqui viene el pero

HAY VECES que la vetanana me aparece encima pero desactivada osea el focus lo tiene la vetana de donde hice la llamada al ventana modal y la modal desactivada pero encima de todas, por cual la aplicacion se queda bloqueada por completo.

ya que no dema dar clik en ninguna parte xq la modal esta desactivada y la ventana de atras que tiene el focus esta atras de la modal.

esto no pasa tan seguido pero pasa, y nunca eh podido resolverlo, d hecho pienso que puede ser un error de vfp.

la ventana modal tiene la propiedad
windowstype =1
allawaysontop = .t.

alguien ah experimentado algo parecido?
espero su ayuda gracias
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

ventanas modales

Publicado por xx (378 intervenciones) el 09/08/2011 20:07:34
Bueno abria que ver, yo personalmente creo que cuando te muestra desactivado la ventana modal es porque esta esta deshabilitad osea enabled=.F. todo depende de como trabajas, yo no aconsejo trabajar con conjuntos de formularios, en cambio si aconsejo utilizar un formulario y en caso de que este requiera llamar a otros estos otros formularios los alojo como objeto en un VCX a mi me funciona perfectamente, sobre todo tengo en el formulario de facturacion donde uso un formulario principal otro para buscar clientes (como objeto), otro para buscar productos (como objeto) y uno modal (como objeto) donde se busca el numero de factura.

Si usas el modal simplemente porque no quieres que se toquen o trabajen los otros fomularios mientas tienes abierto el modal pues te cuento que podrias simplemente quitarle el modo modal y cuando pasas el foco de un formulario a otro debes deshabiliar el formulario es decir enabled=.f. mientras trabajas con el otro y posteriormente al regresar al formulario llamador simplemente lo habilitas es decir enabled=.t., pero para eso debes crear variables y asignar referencias de todos los formularios con los que trabajas es decir:

suponiendo que trabajes que con dos forms FPRINC y FSECOND

en el init de FSECOND forzas la recepcion de parametros
FSENCOD::INIT()
LPARAMETRS _Xrefer
THISFORM._FPRINC=_Xrefer
...
ENDPROC

entonces cuando creas desde el princ

FPRINC::INIT()
THISFORM._FSECOND=CREATEOBJ( "CBASEFORMSEC", THISFORM )

entonces cuando trabajas con el form FPRINC deshabilitas el secundario
FPRINC._FSECOND.ENABLED=.F.

y cuando pasas el foco para el secundario deshabilitas el principal
FSECOND._FPRINC.ENABLED=.F.

obs: antes de devolver el foco del segundo form para el primero debes habilitar el FPRINC

Ojala se entienda
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

ventanas modales

Publicado por edgardvd (135 intervenciones) el 09/08/2011 20:46:56
gracias x tu ayuda

ps si parece una buena solucion. tendria que probarla
el unico detalle que veo es que muhcas veces no solo tienes abierto el form de donde llamas la vetana modal, entonces en ese caso no se si funcionaria, igual tengo que probar.

sobre tu observacion:
yo personalmente creo que cuando te muestra desactivado la ventana modal es porque esta esta deshabilitad osea enabled=.F

estoy bastante seguro que no es esa propiedad no se mueve, lo que mas bien pasa es que la modal pierde el focus por alguna razon.

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