Page 1 of 1

xbrowse desaparece (Solucionado)

PostPosted: Mon Aug 15, 2022 10:27 am
by JoseLuis
Buenos dias

Tengo una pantalla pincipal
Code: Select all  Expand view
   DEFINE WINDOW Publicas:oWPpal;// FROM 1,5 TO 20,75;
       TITLE Publicas:cTitulop;//       MENU HazMenu(Publicas:oWPpal);
       MDI ICON Publicas:oIco;
       BRUSH oBrush1//       COLOR CLR_BLACK,CLR_WHITE;
       Publicas:oWPpal:oFont:=oFont
       Publicas:oWPpal:Setmenu(hazmenu(Publicas:oWPpal))
       SET MESSAGE TO (" (c) Jose Luis 2004  (V.03.08.22)") CENTERED OF Publicas:oWPpal
       DEFINE BITMAP oBmp File curdrive()+":\"+curdir()+"\BMPS\Logoacm.bmp" OF Publicas:oWPpal
    Publicas:oWPpal:bPainted = { | hDC | If( oBmp != nil,;
                                  Drawtransparent( hDC,;
                                  oBmp:hBitmap,;
                  Publicas:oWPpal:nHeight() / 2 - ;
                                  oBmp:nHeight() / 2 - 50,;
                                  Publicas:oWPpal:nWidth() / 2 - ;
                                  oBmp:nWidth() / 2),) }

//    Publicas:oWPpal:bPainted = { | hDC | If( oBmp != nil,;
//                                  PalBmpDraw( hDC,;
//                                  Publicas:oWPpal:nHeight() / 2 - ;
//                                  oBmp:nHeight() / 2 - 50,;
//                                  Publicas:oWPpal:nWidth() / 2 - ;
//                                  oBmp:nWidth() / 2,;
//                                  oBmp:hBitmap ),) }

    ACTIVATE WINDOW Publicas:oWPpal MAXIMIZED;
              ON INIT (Inicio(Publicas:cTitulop),mibarra(),;
              Publicas:oWPpal:oMsgBar:ClockOn(),; //oClock:SetCheck(.T.),;
                  Publicas:oWPpal:oMsgBar:DateOn(), ;//oDate:SetCheck(.T.),;
                  Publicas:oWPpal:oMsgBar:KeybOn());//, oKeyB:SetCheck(.T.) );
                  VALID Salir()


Hasta aqui no hay ningun problema,

Ahora abro una ventana hija con una serie de botones
Code: Select all  Expand view
DEFINE WINDOW oDlg MDICHILD     ;
    OF Publicas:oWPpal      ;
    FROM x1,y1              ;
    TO x2,y2                ;
    COLOR CLR_BLACK,CLR_WHITE;
        PIXEL

oDlg:cTitle:=cTitulo
DEFINE BUTTONBAR oBar 2007 OF oDlg

DEFINE BUTTON RESOURCE "ANADIR" OF oBar NOBORDER MESSAGE "Añadir"      ACTION (cTitulo:="Creación de nuevos Albaranes ",;
.............................

@ oDlg:nHeight() - 45, 0  TABS oTab ;
    PROMPTS "&Numero","&Fecha","&Cliente","&Nombre","&Rem","&factura","&Tipo","&conductor","&Orden","Reex&p","&Spro","&Importe","&Duplicado","&Kilos";
    COLOR CLR_BLACK,CLR_WHITE ;
        ACTION ((aAlias[24])->(Ordsetfocus(cambia(oTab:nOption,aAlias))),oLbx:Refresh())
        oDlg:oBottom:=oTab

ACTIVATE WINDOW oDlg  MAXIMIZED  
     


Y tambien funciona bien, se ven los botones etc.
Pero quiero mostrar en el hueco de esta ventana hija un XBROWSE y ahi viene el problema.
Code: Select all  Expand view
@ 30, 0 xbrowse oLbx Alias aAlias[24]  ;
        COLUMNS " ","Albaran","Fecha","Pro","Pobla","Cr","Prou","Pobla1" ,"Baseimpo","kkilos","Kilos","Factura","Codart"," ","Orden"," "," ","nConductor","","n_Reexp","Spro","Graba","Operador","c_alm","Datos";
        HEADERS  "F"," Numero ", " Fecha ", " Cliente ", "Pobla", "T","Origen/Destino", "Pobla", " Importe ", " Bult. ", " Kilos "," Factura "," Tarifa ","Tipo","Orden","In" ,"EG"," Conductor " ," Ig ","Reexpedido", "SPro","Fhora"," Operador ", "Alm", "Alm Fact.";
        ON LEFT DBLCLICK  (iif(!(aAlias[24])->(eof()) .and. Publicas:cAccesoM,(cTitulo:="Visualización de Albaranes ",Entalba1(cTitulo,"V",,aAlias),oLbx:Refresh()),.T.));
        LINES CELL NOBORDER SIZE -10,-30 PIXEL
        oLbx:lFastEdit := .t.

............

ACTIVATE WINDOW oDlg  MAXIMIZED                 ;
        ON INIT (oLbx:SetFocus(),sysrefresh())  ;
    ON RESIZE (oLbx:nWidth:=oDlg:nWidth-10, ;
            oLbx:nHeight:=oDlg:nHeight-95,  ;
                oLbx:Refresh())                 ;
        VALID ((aAlias[24])->(Dbclosearea()),Dbcloseall(),.t. )

 



Se muestra en blanco el xbrowse, es decir sin datos.
Durante menos de un segundo se ve bien el xbrowse, pero al maximizarse, se ocultan los datos

Image

Y si quito MAXIMIZED y ademas quito ON RESIZE aparecen los datos

Image

Estoy un poquito desconcetado, ya que para otras opaciones del programa, así me funciona perfectamente, pero hay algo que se me escapa.

He de añadir que todo esto es porque quiero migrar de TWBROWSE A XBROWSE, ya que en TWBROWSE funciona perfectamente

Re: xbrowse desaparece

PostPosted: Mon Aug 15, 2022 10:42 am
by cnavarro
Lo que no veo en la definición del XBROWSE es la claúsula OF <oParent> para indicarle en qué "contenedor" se ha de situar.

Re: xbrowse desaparece

PostPosted: Mon Aug 15, 2022 12:28 pm
by JoseLuis
Ah, si, debe haber sido debido a la cantidad de veces que he hecho probaturas, pero la linea que tengo es

Code: Select all  Expand view
30, 0 xbrowse oLbx Alias aAlias[24] OF oDlg ;

......
 


pero me hace lo mismo

Gracias por contestar

Re: xbrowse desaparece

PostPosted: Mon Aug 15, 2022 1:58 pm
by cnavarro
Te lo decía porque me ha parecido ver que tienes definidos un TTAB con todo el alto del diálogo por lo que quizás el xbrowse quede por encima de los TTAB

Re: xbrowse desaparece

PostPosted: Mon Aug 15, 2022 3:04 pm
by JoseLuis
Si, efectivamente tengo una barra de tabs,
Code: Select all  Expand view
@ oDlg:nHeight() - 45, 0  TABS oTab ;
    PROMPTS "&Numero","&Fecha","&Cliente","&Nombre","&Rem","&factura","&Tipo","&conductor","&Orden","Reex&p","&Spro","&Importe","&Duplicado","&Kilos";
    COLOR CLR_BLACK,CLR_WHITE ;
        ACTION ((aAlias[24])->(Ordsetfocus(cambia(oTab:nOption,aAlias))),oLbx:Refresh())
        oDlg:oBottom:=oTab


La tengo dimensionada en -45

Cuando hago el redimensionamiento del xbrowse,
Code: Select all  Expand view
    ON RESIZE (oLbx:nWidth:=oDlg:nWidth-10, ;
            oLbx:nHeight:=oDlg:nHeight-95,  ;
                oLbx:Refresh())          


Deberia valer, pero no funciona, se ve todo el browse en blanco

Re: xbrowse desaparece

PostPosted: Tue Aug 16, 2022 6:40 am
by Antonio Linares
Prueba con oDlg:oBottom = oTab

Re: xbrowse desaparece

PostPosted: Tue Aug 16, 2022 8:53 pm
by JoseLuis
Gracias Antonio por responder
Ya lo tenía puesto y sigue igual.

Los curioso que me he dado cuenta ha sido que si hago clic en cualquier tabs sigue igual, pero si lo hago en el ultimo tabs, carga perfectamente el browse y ya aunque pulse cualquier tabs, funciona perfectamente.

Pongo un video y se entenderá mejor

Image

Re: xbrowse desaparece

PostPosted: Wed Aug 17, 2022 7:28 am
by Antonio Linares
Estimado Jose Luis,

Puedes proporcionarnos el EXE ó un PRG completo pequeño en el que se reproduzca el efecto ?

muchas gracias

Re: xbrowse desaparece

PostPosted: Wed Aug 17, 2022 7:32 am
by Antonio Linares
Jose Luis,

Visto el video y visto el efecto

Cuando creas el browse usas estas medidas:
LINES CELL NOBORDER SIZE -10,-30 PIXEL

Por qué le das valores negativos ahi ? Prueba a usar 300, 200 ó asi

Re: xbrowse desaparece

PostPosted: Wed Aug 17, 2022 10:03 am
by JoseLuis
Muchas gracias Antonio,

Por ahí iban los tiros, lo he conseguido gracias a tu ayuda.

He quitado la clausula SIZE del xbrowse, ( que la tenia de otros fuentes), y además he quitado el ON REZISE cuando activo la ventana, ya que le pongo MAXIMIZED y funciona todo correctamente.