Entorno MDI y ExplBar

Post Reply
User avatar
Xevi
Posts: 168
Joined: Wed Nov 29, 2017 11:42 am
Location: Girona

Entorno MDI y ExplBar

Post by Xevi »

Resulta que empezando la aplicación, usando entorno MDI, me atranco con un problema, y no pequeño.

Defino la WINDOW principal como MDI y las demás MDICHILD... hasta ahí correcto.
El tema que me deja atorado, es que en la ventana principal, si tengo algun control como por jemplo una ExplBar, esa no está "habilitada" no se puede utilizar, es como si se dehabilitaran los controles (también los Buttons y no he probado, pero igual los GETs/EDITs) al estar en MDI.
No así las BUTTONBAR... esas si estan "operativas"

Y... otra cosa añadida, si se crea una ventana hija y se arrastra por la ventana, el contenido en ella es "eliminado" - "borrado", como si pasaras una goma por donde se pasea la ventana hija. (arrastrar la ventana por encima de la ExplBar y vereis que la va borrando por donde se situa la ventana hija)

Alguna razón???
Algo que se me pase y deba de corregir???

Gracias, y Felices Fiestas.

aquí el código.

Code: Select all

#include "FiveWin.ch"

static oWnd

function Main()

   local oBar

   DEFINE WINDOW oWnd MDI

   DEFINE BUTTONBAR oBar OF oWnd 2007 SIZE 50, 50 

   DEFINE BUTTON OF oBar ACTION VentanaHija()

   DEFINE MSGBAR OF oWnd PROMPT "Ejemplo MDI" 2007

   WITH OBJECT TExplorerBar():New( oBar:nHeight, 0, 325, oWnd:nHeight -70, oWnd )
   :AddPanel( "PANEL 1 'primero'" )
   :AddPanel( "PANEL 2 'segundo'" )
   END WITH


   ACTIVATE WINDOW oWnd

return nil

function VentanaHija()

   local oWndChild, oFolder

   DEFINE WINDOW oWndChild MDICHILD OF oWnd FROM 0, 50 TO 20, 40

   @ 0, 0 FOLDER oFolder OF oWndChild

   oWndChild:oClient = oFolder

   ACTIVATE WINDOW oWndChild

return nil
 
Un Saludo,
Xevi.

Aprendiz de la vida!!!
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Entorno MDI y ExplBar

Post by Antonio Linares »

Xevi,

Code: Select all

#include "FiveWin.ch"

static oWnd

function Main()

   local oBar, oExplBar

   DEFINE WINDOW oWnd MDI

   DEFINE BUTTONBAR oBar OF oWnd 2007 SIZE 50, 50 

   DEFINE BUTTON OF oBar ACTION VentanaHija()

   DEFINE MSGBAR OF oWnd PROMPT "Ejemplo MDI" 2007

   WITH OBJECT oExplBar := TExplorerBar():New( 0, 0, 250, oWnd:oWndClient:nHeight, oWnd )
      :AddPanel( "PANEL 1 'primero'" )
      :AddPanel( "PANEL 2 'segundo'" )
   END WITH

   oWnd:oLeft = oExplBar

   ACTIVATE WINDOW oWnd

return nil

function VentanaHija()

   local oWndChild, oFolder

   DEFINE WINDOW oWndChild MDICHILD OF oWnd FROM 0, 50 TO 20, 40

   @ 0, 0 FOLDER oFolder OF oWndChild

   oWndChild:oClient = oFolder

   ACTIVATE WINDOW oWndChild

return nil
Image
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Xevi
Posts: 168
Joined: Wed Nov 29, 2017 11:42 am
Location: Girona

Re: Entorno MDI y ExplBar

Post by Xevi »

Antonio, entiendo pues que se debe "anclar" la ExplBar para que forme parte "fija" de la ventana principal.

Entonces, para poner algun botón o demás control, debo crear un panel, por ejemplo y anclarlo a la ventana y en ese panel, colocar los controles que desee ver e interauctuar en esa ventana.
Un Saludo,
Xevi.

Aprendiz de la vida!!!
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Entorno MDI y ExplBar

Post by Antonio Linares »

Si, así es :-)

Revisa también los ejemplos FWH\samples\layout...prg que es otra forma más poderosa aún de reorganización de los controles dentro de las ventanas
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply