Bug TRibbonBar / TDockPnel en windows7 (Solucionado)

Post Reply
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Bug TRibbonBar / TDockPnel en windows7 (Solucionado)

Post by leandro »

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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Bug TRibbonBar en windows7

Post by leandro »

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

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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Bug TRibbonBar / TDockPnel en windows7

Post by leandro »

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

  oWnd:bPainted := {|hDC| FW_DrawImage( hDC, ".\res\fondo-logo.png", { 0,0, 668, 668 } ),;
            oRBar:CalcPos(), oWnd:SetMenu( BuildMenu2() )}
 
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Bug TRibbonBar / TDockPnel en windows7 (Solucionado)

Post by Antonio Linares »

Leandro,

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

Antonio Linares
www.fivetechsoft.com
Post Reply