Page 1 of 1

Still a problem with Ribbon on FWH909

Posted: Thu Sep 24, 2009 12:20 am
by fraxzi
Hello guys!

Here's a problem am working:

Using xHB1.21 + FWH909 tested using WinXP/Vista and Win7 with the same problem.


Image

Prior in clicking 'Here' button of ribbon bar group. normal.

Here when I selected the button 'Here'

Image

This is just a small code that I reproduced to show the problem:

CODE:

Code: Select all

#Include 'FiveWin.ch'
#include 'Ribbon.ch'



//--------------------------------------------------------------------------------------------------

PROCEDURE uMain()
 LOCAL aScreen := { GetSysMetrics( 4 ) +  GetSysMetrics( 17 ),;  //height of caption and screen }
                    GetSysMetrics( 16 ),;                        //width of client area
                    GetSysMetrics( 0 ),;                         //width of screen
                    GetSysMetrics( 1 ) }                         //height of screen


 LOCAL oRibbon,;
       oBtn_RR, oBtn_SR,;
       oBtn_RE, oBtn_CH, oBtn_CO,;
       oBtn_RP


 DEFINE WINDOW oMDIFrame TITLE "Ribbon flicker" MDI;
        From 2, 2 To aScreen[1]-2, aScreen[2]-2;
        STYLE nOr( WS_BORDER, WS_SYSMENU, WS_MINIMIZEBOX);
        MENU uBuildMenu()


        DEFINE BRUSH oBrushWin;
               RESOURCE 'Brick'

        DEFINE BRUSH oBrushDlg;
               RESOURCE 'Stone'

        DEFINE RIBBONBAR oRibbon WINDOW oMDIFrame;
               PROMPT 'ONE', 'TWO', 'THREE';
               HEIGHT 112 TOPMARGIN 26


               ADD GROUP oGrp_PUR_N3 RIBBON oRIBBON TO OPTION 1;
                   PROMPT "one.1" width 120

                   @ 05, 10 ADD BUTTON GROUP oGrp_PUR_N3;
                            SIZE 50, 58 PROMPT '&1';
                            SPLITPOPUP ROUND;
                            ACTION msginfo('1.1')

                   @ 05, 62 ADD BUTTON GROUP oGrp_PUR_N3;
                            SIZE 50, 58 PROMPT '&2';
                            SPLITPOPUP ROUND ;
                            ACTION msginfo('1.2')

//-----------------------------------------------------------------------------------------------------------------------------

               ADD GROUP oGrp_INV_N3 RIBBON oRIBBON TO OPTION 2;
                   PROMPT "two.1" width 120


                   @ 05, 10 ADD BUTTON oBtn_RR GROUP oGrp_INV_N3;
                            SIZE 50, 58 PROMPT "&Here";
                            SPLITPOPUP ROUND;
                            ACTION uTest()


                   @ 05, 62 ADD BUTTON oBtn_SR GROUP oGrp_INV_N3;
                            SIZE 50, 58 PROMPT "&2";
                            SPLITPOPUP ROUND ;
                            ACTION msginfo('2.1')


               ADD GROUP oGrp_COS_N3 RIBBON oRIBBON TO OPTION 2;
                   PROMPT "two.2" width 210


                   @ 05,  10 ADD BUTTON oBtn_RE GROUP oGrp_COS_N3;
                             SIZE 50, 58 PROMPT "&1";
                             SPLITPOPUP ROUND;
                             ACTION msginfo('2.1')

                   @ 05,  62 ADD BUTTON oBtn_CH GROUP oGrp_COS_N3;
                             SIZE 70, 58 PROMPT "&2";
                             SPLITPOPUP ROUND ;
                             ACTION msginfo('2.2')

                   @ 05, 133 ADD BUTTON oBtn_CO GROUP oGrp_COS_N3;
                             SIZE 70, 58 PROMPT "&3";
                             SPLITPOPUP ROUND ;
                             ACTION msginfo('2.3')

               ADD GROUP oGrp_INV_RE RIBBON oRIBBON TO OPTION 2;
                   PROMPT "three.3" width 210 BITMAP 'ribbontip'


                   @ 05,  10 ADD BUTTON oBtn_RP GROUP oGrp_INV_RE;
                             SIZE 70, 58 PROMPT "&1";
                             SPLITPOPUP ROUND ;
                             ACTION msginfo('3.1')

//------------------



 ACTIVATE WINDOW oMDIFrame Maximized;
          ON INIT ( oRibbon:SetOption( 2 ) )


RETURN

//--------------------------------------------------------------------------------------------------

STATIC FUNCTION uBuildMenu()
 LOCAL oMenu
 MENU oMenu
 ENDMENU
RETURN( oMenu )


//--------------------------------------------------------------------------------------------------

PROCEDURE uTest()
 LOCAL oWnd, oDlg

      DEFINE WINDOW oWnd TITLE "xBrowse" MDICHILD;
             FROM 0,0 TO 0,0;
             STYLE nOr( WS_SYSMENU, WS_CAPTION, WS_DLGFRAME, WS_CLIPCHILDREN );
             OF oMDIFrame PIXEL


             DEFINE DIALOG oDlg RESOURCE 'DLG_CONTENT';
                    OF oWnd PIXEL

             ACTIVATE DIALOG oDlg NOWAIT;
                      VALID .F.   //no esc-key


      ACTIVATE WINDOW oWnd;
               ON INIT ( oWnd:nHeight := oDlg:nHeight + GetSysMetrics( 4 ),;
                         oWnd:nWidth  := oDlg:nWidth - 2 )


RETURN

//--------------------------------------------------------------------------------------------------
 
RC:

Code: Select all

1 24 "WindowsXP.Manifest"

DLG_CONTENT DIALOGEX 0,0,465,319
FONT 10,"Verdana",0,0
STYLE WS_CHILDWINDOW|WS_VISIBLE
BEGIN
  CONTROL "GroupBox",1001,"Button",WS_CHILDWINDOW|WS_VISIBLE|BS_GROUPBOX,13,13,128,56
END
 

Re: Still a problem with Ribbon on FWH909

Posted: Fri Sep 25, 2009 5:13 am
by fraxzi
Anyone?


Mr. Antonio Linares? any word from you?


Regards,
Frances

Re: Still a problem with Ribbon on FWH909

Posted: Fri Sep 25, 2009 9:01 am
by Otto
Hello Frances,
If you comment

/*
DEFINE DIALOG oDlg RESOURCE 'DLG_CONTENT';
OF oWnd PIXEL

ACTIVATE DIALOG oDlg NOWAIT;
VALID .F. //no esc-key
*/
it is working for me. Maybe you can't use a dialog on an MDI window.

Best regards,
Otto

Re: Still a problem with Ribbon on FWH909

Posted: Fri Sep 25, 2009 9:32 am
by ukoenig
Hello Otto,

using a Dialog on a MDI-Window :

Code: Select all

#include "FiveWin.ch"

static oWnd
static oLbx1
#define COLOR_BTNFACE   15

FUNCTION Main()
LOCAL cTitle := "Testing a Dialog on MDI-Window"

DEFINE WINDOW oWnd FROM 50, 50 TO 650, 700 PIXEL ;
TITLE cTitle MDI

SET MESSAGE OF oWnd TO cTitle KEYBOARD CLOCK DATE NOINSET
  
ACTIVATE WINDOW  oWnd  ;
ON INIT BuildChild() ;

RETURN NIL

// --------------------

FUNCTION BuildChild()
LOCAL oChild
   
DEFINE WINDOW oChild TITLE "A Child Window / Dialog" MDICHILD  MENU TMenu():New() ;
COLOR 0, GetSysColor( COLOR_BTNFACE )
      
ACTIVATE WINDOW oChild ;
ON INIT Dialog( oChild )
   
RETURN NIL

// ---------------------------------------------

FUNCTION Dialog(oChild)
LOCAL oDlg

DEFINE DIALOG oDlg FROM 80, 50 TO 600, 500 TITLE "A Dialog Box"  PIXEL OF oWnd

SELECT 1
USE EJEMPLO1.DBF

@ 10,15 LISTBOX oLbx1 FIELDS SIZE 115,150 PIXEL OF oDlg

ACTIVATE DIALOG oDlg ;
NOWAIT ;
ON INIT ChangeParent( oDlg, oChild )
      
oDlg:End()   
oChild:bResized = { || oLbx1:SetSize( oChild:nWidth, oChild:nHeight / 2 + 40 ) } // Browser-Size
oChild:SetSize( 600, 500 ) //  Dialog-Size

RETURN NIL

// -----------------------------------

FUNCTION ChangeParent( oDlg, oChild )
LOCAL n
   
FOR n = 1 to Len( oDlg:aControls )
      SetParent( oDlg:aControls[ n ]:hWnd, oChild:hWnd )
      AAdd( oChild:aControls, oDlg:aControls[ n ] )
      oDlg:aControls[ n ]:oWnd = oChild
NEXT
   
RETURN NIL
 
Best Regards
Uwe :lol:

Re: Still a problem with Ribbon on FWH909

Posted: Sat Sep 26, 2009 1:41 am
by fraxzi
Otto wrote:Hello Frances,
If you comment

/*
DEFINE DIALOG oDlg RESOURCE 'DLG_CONTENT';
OF oWnd PIXEL

ACTIVATE DIALOG oDlg NOWAIT;
VALID .F. //no esc-key
*/
it is working for me. Maybe you can't use a dialog on an MDI window.

Best regards,
Otto

Hi Otto!

The problem is with define dialog from resource having a groupbox or button... i'm not sure if there's a correction needed with ribbon class.
This occurs on the first run of any define dialog..

My solution is not really a solution but just a workaround..

Code: Select all

...
 ACTIVATE WINDOW oWnd Maximized;
          ON INIT uDlgDummy()
...

...
//------------------
// This function just refine dialog with groupbox so Ribbon wont flicker on first run
//------------------
FUNCTION uDlgDummy()    
 LOCAL oDlg
 DEFINE DIALOG oDlg RESOURCE 'DLG_DUMMY';
        OF oMDIFrame PIXEL
 ACTIVATE DIALOG oDlg NOWAIT
 oDlg:END()
RETURN
...
 
.RC

Code: Select all

DLG_DUMMY DIALOGEX 10,10,150,52
FONT 10,"Verdana",0,0
STYLE WS_CHILDWINDOW|WS_VISIBLE
BEGIN
  CONTROL "",1001,"Button",WS_CHILDWINDOW|WS_VISIBLE|BS_FLAT|BS_GROUPBOX,5,4,66,39
END

Re: Still a problem with Ribbon on FWH909

Posted: Sat Sep 26, 2009 6:49 am
by Antonio Linares
Frances,

We have already been reported about this bug and we are working to solve it, thanks

Re: Still a problem with Ribbon on FWH909

Posted: Sat Sep 26, 2009 7:08 am
by fraxzi
Antonio Linares wrote:Frances,

We have already been reported about this bug and we are working to solve it, thanks

Thank you Mr. Antonio!

It's worth the wait.


Regards,
Frances

Re: Still a problem with Ribbon on FWH910

Posted: Tue Oct 27, 2009 5:23 am
by fraxzi
Dear All,

I downloaded FWH9.10 and tested this problem...

Still unresolved.


Mr. Antonio?


Regards.