Bug TRibbonBar / TDockPnel en windows7 (Solucionado)

Bug TRibbonBar / TDockPnel en windows7 (Solucionado)

Postby leandro » Thu Feb 11, 2021 9:39 am

Buenos días para todos

Como estoy haciendo actualizaciones en la aplicación, van surgiendo cosas a medida de avanzamos, en este momento el error de sale es en el control TRibbonBar no ajusta los textos de las pestañas, pero lo raro es que en windows 10 funciona perfectamente, de momento note que el error pasa es con windows7.

Una imagen dice mas que mil palabras.

Image

Espero me puedan ayudar nuevamente.

De antemano gracias,
Last edited by leandro on Fri Feb 12, 2021 2:02 am, edited 2 times in total.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1688
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Bug TRibbonBar en windows7

Postby leandro » Thu Feb 11, 2021 7:13 pm

Buenas tardes para todos

Mediante el método de prueba y error, logre determinar que el error se produce al momento hacer el llamado de a función SETPARENT(). El problema es que si la quito el cuadro de dialogo no sale contenido dentro del control tdockpnel.

Como les comente anteriormente solo sucede en windows7, y el problema es que un tenemos demasiados usuarios con ese sistema operativo.

Code: Select all  Expand view  RUN
DEFINE WINDOW oWid FROM nPosx, nPosy TO nAlto,nAnch TITLE  "Titulo" ICON "#8001" ;
        PIXEL NOMAXIMIZE NOMINIMIZE
       
    .................
    oDock2  := TDockPnel():New( oWid )
    WITH OBJECT oDock2
        :SetHeightCaption( 30 )
        :SetCoors( { | o | XEval( o:oWnd:aControls[ 1 ]:nTop, o ) }, ;
        { | o | XEval( o:oWnd:aControls[ 1 ]:nRight, o ) + 10 }, ;
        { | o | XEval( o:oWnd:aControls[ 1 ]:nBottom, o ) - 1 }, ;
        { | o | (Int( o:oWnd:nWidth / 12 )*4) + XEval( o:nLeft, o ) - 25 } )
        :SetCaption( { | o | "Inicio de Sesión" } )
        :SetColors( CLR_WHITE, Rgb( 0,120,215 ) , Rgb( 88, 88, 88 ), CLR_HGRAY )
        :SetBorderSize( 4 )
        :SetFont( oFont6 )
        :lLeftImgs   := .F.
        :lBottom := .F.
        :SetCtrlsPnel( { | o, nT, nL, nH, nW, oB | oB := MuestraSesion(  o, nT, nL, nH, nW ) } )
        :Activate()
    END
    ................
   
ACTIVATE WINDOW oWid VALID (oCnEmp:close(),.T.)
               
                   
                   
Function MuestraSesion( oP, nT, nL, nH, nW )

......

DEFINE BRUSH oBrush FILE ".\res\lyma-front.png" STRETCH
nStyle :=nOR( DS_MODALFRAME, WS_POPUP ) // Removes the ? and x on the dialogue title
DEFINE DIALOG oDlg TITLE "Dialog" STYLE nStyle;
    SIZE oP:nWidth , oP:nHeight OF oP PIXEL BRUSH oBrush
    oDlg:nTop      := 0
    oDlg:nLeft     := 0
    oDlg:lHelpIcon := .F.

    .......
    .....
   
ACTIVATE DIALOG oDlg NOWAIT ;
    ON INIT (SetParent( oDlg:hWnd, oP:hWnd ),Inicio(oDlg,aEmpresas[oBrw:nArrayAt]["e_codi"],oLamcla:oServer) ) ;
    ON MOVE oDlg:Move( 0, 0, , , .T. )

Return oDlg 


Image

Alguna idea de porque?
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1688
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Bug TRibbonBar / TDockPnel en windows7

Postby leandro » Fri Feb 12, 2021 2:02 am

Bueno después de batallar todo el día, encontré la solución. En el ON PAINT de la venta principal refresque el menu y la RibbonBar. Y ya funciona correctamente.

Code: Select all  Expand view  RUN
 oWnd:bPainted := {|hDC| FW_DrawImage( hDC, ".\res\fondo-logo.png", { 0,0, 668, 668 } ),;
            oRBar:CalcPos(), oWnd:SetMenu( BuildMenu2() )}
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1688
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Bug TRibbonBar / TDockPnel en windows7 (Solucionado)

Postby Antonio Linares » Fri Feb 12, 2021 8:06 am

Leandro,

Enhorabuena por solucionarlo y muchas gracias por compartirlo :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42203
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 86 guests