Página 1 de 1

Duda sobre MDI

Publicado: Jue Sep 07, 2006 10:15 am
por Bingen Ugaldebere
Si en un Form MDI donde pongo una Toolbar y una Statusbar POR CODIGO
estas a quien deben de pertenecer al form o al área cliente ??
Si hago que pertenezcan al form no aparecen y si hago que pertenezcan al
área cliente si que aparecen pero al cambiar de tamaño la ventana el
área cliente no se ajusta y aparecen unas barras de scroll de forma que
abajo del todo sigue estando la Statusbar.
Todo esto si no es MDI funciona perfectamente.
Quizás deberí­a de hacer algo para que Application:oMainForm:oMdiClient
se ajuste al Form en el evento Resize??
Gracias y salu2.

Duda sobre MDI

Publicado: Jue Sep 07, 2006 10:26 am
por ignacio
Bingen,
Cualquier control que tu pongas en la MDIFrame HA DE SER con algún tipo de
alineación, y entonces el área que queda es donde las MDIClient se van a
visualizar. Si intentas mover la MDIClient fuera de ese área te saldrán las
barras de scroll en la MDIFrame, pero esto ocurrre incluso aunque no hayas
puesto ningún control en la MDIFrame.
Te resultará extraño porque FW nunca mostró dichas barras de scroll, pero lo
correcto es hacerlo.
Un saludo,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Bingen Ugaldebere" <bingen@muninser.com> escribió en el mensaje
news:[email=44ffd517@news.xailer.com...]44ffd517@news.xailer.com...[/email]
> Si en un Form MDI donde pongo una Toolbar y una Statusbar POR CODIGO estas
> a quien deben de pertenecer al form o al área cliente ??
>
> Si hago que pertenezcan al form no aparecen y si hago que pertenezcan al
> área cliente si que aparecen pero al cambiar de tamaño la ventana el área
> cliente no se ajusta y aparecen unas barras de scroll de forma que abajo
> del todo sigue estando la Statusbar.
>
> Todo esto si no es MDI funciona perfectamente.
>
> Quizás debería de hacer algo para que Application:oMainForm:oMdiClient se
> ajuste al Form en el evento Resize??
>
> Gracias y salu2.
>

Duda sobre MDI

Publicado: Jue Sep 07, 2006 10:42 am
por jfgimenez
Bingen,
> Si en un Form MDI donde pongo una Toolbar y una Statusbar POR CODIGO estas
> a quien deben de pertenecer al form o al área cliente ??
>
> Si hago que pertenezcan al form no aparecen y si hago que pertenezcan al
> área cliente si que aparecen pero al cambiar de tamaño la ventana el área
> cliente no se ajusta y aparecen unas barras de scroll de forma que abajo
> del todo sigue estando la Statusbar.
>
> Todo esto si no es MDI funciona perfectamente.
>
> Quizás debería de hacer algo para que Application:oMainForm:oMdiClient se
> ajuste al Form en el evento Resize??
Aparte de lo que te ha dicho Ignacio, ¿cuando estás creando los controles?
Te lo digo porque si los creas después de que oMdiClient haya sido creado,
entonces es normal lo que te ocurre. Siempre tienes que crear los controles
antes de que se cree la oMdiClient, que se crea justo después de dispararse
el evento OnInitialize. Vamos, que el evento OnInitialize es perfecto para
crearlos.
--
Un saludo,
José F. Giménez
http://www.xailer.com

Duda sobre MDI

Publicado: Jue Sep 07, 2006 12:01 pm
por Bingen Ugaldebere
Pero si armo la Statusbar en el evento OnInitialize del Form
With Object oStatusBar:= TstatusBar():New( If(AppData:lMDIWnd,
Application:oMainForm:oMdiClient, Application:oMainForm) )
dice que no existe oMdiClient lógicamente o eso creo entender en el
siguiente error.
------ Información detallada del error
Subsistema: BASE
Código de error: 1004
Estado: .F.
Descripción: Class: 'NIL' has no exported method
Operación: OMDICLIENT
Argumentos:
Fichero:
Código error SO: 0
Pila de llamadas:
OWND:ONINITIALIZE (1447)
OWND:NEW (187)
TAPPLICATION:SHOW (73)
MAIN (16)

Duda sobre MDI

Publicado: Jue Sep 07, 2006 12:21 pm
por jfgimenez
Bingen,
> Pero si armo la Statusbar en el evento OnInitialize del Form
>
>
> With Object oStatusBar:= TstatusBar():New( If(AppData:lMDIWnd,
> Application:oMainForm:oMdiClient, Application:oMainForm) )
>
>
> dice que no existe oMdiClient lógicamente o eso creo entender en el
> siguiente error.
Exactamente, oMdiClient no existe en ese momento. Pero el padre de la
statusbar tiene que ser el formulario, es decir, Self, y no oMdiClient.
--
Un saludo,
José F. Giménez
http://www.xailer.com