Blur effect!!! /// RibbonBar ::FiveTech

Blur effect!!! /// RibbonBar ::FiveTech

Postby Bayron » Fri Sep 30, 2011 3:58 am

Hola,

Al intentar usar el efecto Blur en una ventana con RibbonBar, ésta hace el efecto, pero la RibbonBar no lo hace...
Al hacerlo sobre el objeto de la RibbonBar, solamente los tabs hacen el efecto, pero no los botones pintados sobre ella...

Image

Si es algo demasiado complicado como para arreglarlo en FWH10.2, por favor indiquenlo cuando sea arreglado en alguna version futura!!!!

EDITADO:

oRBar:Disable() funciona, pero no crea ningún efecto de desabilitado sobre la RibbonBar....
Last edited by Bayron on Sat Oct 01, 2011 2:19 am, edited 1 time in total.
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Blur effect!!! ::FiveTech

Postby Daniel Garcia-Gil » Fri Sep 30, 2011 11:48 am

Bayron

intenta hacerlo sobre la ventana principal no sobre la ribbon
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Blur effect!!! ::FiveTech

Postby Bayron » Fri Sep 30, 2011 4:39 pm

Hola Daniel,

Eso fue lo primero que hice, pero ni siquiera tocó la RibbonBar... al menos no lo hizo ayer, hoy si está trabajando bien???

Hice algunas pruebas, aparentemente el problema de pintado en los grupos (ya no tiene nada que ver con el efecto Blur) me lo da al colocar STYLE nOr( WS_POPUP ); en el ejemplo ribbon.prg no me produce este problema...

Ya coloque oRBar:Refresh() y un SysRefresh() en el on Init y sigue igual...

EDITADO:

Utilizando la función oWnd:Maximize(), siempre me provoca el problema de pintado....
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Blur effect!!! ::FiveTech

Postby Bayron » Fri Sep 30, 2011 7:23 pm

Aquí te muestro el problema:

http://www.youtube.com/watch?v=YAqTucM2Pzw

para Maximizar la ventana solamente uso oWnd:Maximize()
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Blur effect!!! ::FiveTech

Postby Daniel Garcia-Gil » Fri Sep 30, 2011 8:00 pm

Bayron

trata de cocinar esta idea

este link te puede servir para las opciones del GetSysMetrics
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724385(v=vs.85).aspx

oDialog es la ventana principal y retorno

Code: Select all  Expand view
Function BlurEffect( oDialog )
  LOCAL hBmp, i
  LOCAL hBlur
  LOCAL oWnd
 
  oDialog:GetDC()
  hBmp := MakeBkBmp( oDialog:hWnd , oDialog:hDC )

  hBlur := Blur( hBmp , 4 )
 
  DEFINE WINDOW oWnd STYLE nOr( WS_POPUP, WS_VISIBLE ) ;
  FROM 0,0 TO GetSysMetrics( 1 ), GetSysMetrics( 0 ) PIXEL

  ACTIVATE WINDOW oWnd MAXIMIZED;
      ON INIT ( ::Move( GetSysMetrics( 51 ) + 2 ) ) ;
      ON PAINT ( PalBmpDraw( hDC , 0 , 0 , hBlur ) );
      VALID ( DeleteObject( hBlur ), DeleteObject( hBmp ), .T. )

  oDialog:ReleaseDC()

return oWnd //retorno este objeto para liberarlo despues de cerrar el dialogo que crea el efecto blur

 
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Blur effect!!! ::FiveTech

Postby Bayron » Sat Oct 01, 2011 12:58 am

Daniel,

El problema del BLUR ya está resuelto, no sé ni que le moví, pero ahora funciona correctamente...

Ahora el problema es con el pintado del RibbonBar, y éste apareció despues de que definí la ventana principal colocando el estilo: STYLE nOr( WS_POPUP ), si quito este estilo, todo va bien...
Esto se puede observar en el video del post anterior...

EDITADO:
Al posicionar el Mouse sobre los grupos, el pintado se muestra correctamente de nuevo...
El problema se da cuando se pinta inicialmente la RibbonBar, y cuando utilizo las funciones oWnd:Restore() y oWnd:Maximize()
Con el ejemplo samples\ribbon.prg no se da el problema, y estoy tratando de recrear el problema ahora...
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Blur effect!!! /// RibbonBar ::FiveTech

Postby Bayron » Sat Oct 01, 2011 2:21 am

Daniel,

Este codigo reproduce el error... Hay botones en la parte superior derecha para las funciones basicas de la ventana... (Por favor intenta a Maximizar/Restaurar la ventana)

Code: Select all  Expand view
#INCLUDE "FiveWin.CH"  //FWH10.2
#include "Ribbon.ch"

static oRBar
static oBtn101, oBtn102, oBtn103

FUNCTION Main()
    public oWnd

    Define Window oWnd;
        FROM 0, 0 TO ( WndHeight( GetDesktopWindow() ) -;
        fhTaskBar() ), ( WndWidth( ( GetDesktopWindow() ) ) );
        PIXEL;
        STYLE nOr( WS_POPUP )
       
        //NEW RIBBON
        DEFINE RIBBONBAR oRBar OF oWnd;
            PROMPTS "    Archivos   ";
            HEIGHT 230;
            TOPMARGIN 52

            //Buttons
            @ 1, oWnd:nWidth()-48 BTNBMP oBtn101;
                OF oRBar  ;
                SIZE 48, 48 ;
                PROMPT "Exit";
                PIXEL;
                ACTION ( oWnd:End() )

            @ 1, oWnd:nWidth()-96 BTNBMP oBtn102;
                OF oRBar  ;
                PROMPT "Max" + CRLF + "Rest";
                SIZE 48, 48 ;
                PIXEL;
                ACTION ( IF(IsZoomed( oWnd:hWnd ),;
                oWnd:Restore(), oWnd:Maximize())  )

            @ 1, oWnd:nWidth()-144 BTNBMP oBtn103;
                OF oRBar  ;
                PROMPT "Min";
                SIZE 48, 48 ;
                PIXEL;
                ACTION ( oWnd:Minimize() )


            //Grupo 1
            ADD GROUP oGr20;
                RIBBON oRBar;
                TO OPTION 1;
                PROMPT "Trabajando con Camareros...";
                WIDTH 180

            @ 15, 15 ADD BUTTON oBtn20;
                GROUP oGr20;
                SIZE 150, 130;
                ROUND
           

    activate window oWnd

RETURN NIL

//***********************************************************************//

FUNCTION fhTaskBar()  //Of Daniel Garcia-Gil
   local hTaskBar := FindWindow("Shell_TrayWnd", 0)
   local aClientRect := GetClientRect( hTaskBar )
   
RETURN aClientRect[ 3 ]

 
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Blur effect!!! /// RibbonBar ::FiveTech

Postby Bayron » Sat Oct 01, 2011 5:08 am

La RibbonBar no refresca cuando regreso del efecto Blur, como lo tengo ahora y tambien con el ejemplo que tu pusiste....
Le he colocado un SysRefresh(), oWnd:Refresh() y oRBr:Refresh(), pero no funciona...

http://www.youtube.com/watch?v=SY7EaGB_8bs
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Blur effect!!! /// RibbonBar ::FiveTech

Postby Bayron » Sun Oct 02, 2011 3:24 pm

Daniel y Equipo FiveTech,

1 He encontrado una forma temporal de refrescar la RibbonBar al momento de entrar a mi programa:
Code: Select all  Expand view
on init ( oRBar:Resize( 0, oRBar:nWidth, oRBar:nHeight  ) )


Pero solo funciona para entrar al programa y no con oWnd:Maximize() y oWnd:Restore(), asi que:

2 Tuve que declarar cada Grupo y cada Boton de la Barra con una variable Estatica y Refrescarlas individualmente...

Asi que estoy pensando en hacer una funcion temporal, algo asi como:

Code: Select all  Expand view
For n = 1 To Len(oRBar:aDialogs)
   oRBar:aDialogs[n]:Refresh()

   For m = 1 to Len(oRBar:aDialogs[n]:aControls)
      oRBar:aDialogs[n]:aControls[m]:Refresh()
  EndFor

EndFor


No he probado todavia, a ver que resuelvo... Ojala que vaya por buen camino...

3 He puesto algunos botones con la BtnBmp, con la Clausula OF oRBar y tampoco son refrescados al momento de volver de la función BlurEffect() y hacer un :Refresh() en la ventana y otro en la RibbonBar...
Voy a intentar con botones RbButton a ver que pasa....

Todo lo expuesto anteriormente deberia ser refrescado por un oRBar:Refresh(), por lo que estas soluciones deben ser temporales, mientras se encuentra la forma de que sean permantes desde la propia Clase...
Tomen en cuenta que solo sucede cuando uso la ventana con STYLE nOr( WS_POPUP )
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Blur effect!!! /// RibbonBar ::FiveTech

Postby Bayron » Sun Oct 02, 2011 3:48 pm

He logrado Refrescar la RibbonBar, con esta funcion:

Code: Select all  Expand view
FUNCTION RefRBar()
    For n = 1 To Len(oRBar:aDialogs)
        oRBar:aDialogs[n]:Refresh()
        For m = 1 to Len(oRBar:aDialogs[n]:aControls)
            oRBar:aDialogs[n]:aControls[m]:Refresh()
            For l = 1 to Len(oRBar:aDialogs[n]:aControls[m]:aControls)
                oRBar:aDialogs[n]:aControls[m]:aControls[l]:Refresh()
            EndFor
        EndFor
    EndFor
RETURN NIL


Pero me provoca un parpadeo no tan bonito!!!...
PS: Ver el post anterior...
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Blur effect!!! /// RibbonBar ::FiveTech

Postby Daniel Garcia-Gil » Mon Oct 03, 2011 12:01 pm

Bayron

prueba esto, el boton dentro del grupo hace el efecto blur

Code: Select all  Expand view

#INCLUDE "FiveWin.CH"  //FWH10.2
#include "Ribbon.ch"

static oRBar
static oBtn101, oBtn102, oBtn103

FUNCTION Main()
    LOCAL aArea := GETWORKAREA()

    public oWnd
   
   
    Define Window oWnd;
        FROM aArea[1], aArea[2] TO aArea[3], aArea[4];
        PIXEL;
        STYLE nOr( WS_POPUP, WS_VISIBLE )
       
        //NEW RIBBON
        DEFINE RIBBONBAR oRBar OF oWnd;
            PROMPTS "    Archivos   ";
            HEIGHT 230;
            TOPMARGIN 52

            //Buttons
            @ 1, oWnd:nWidth()-48 BTNBMP oBtn101;
                OF oRBar  ;
                SIZE 48, 48 ;
                PROMPT "Exit";
                PIXEL;
                ACTION ( oWnd:End() )

            @ 1, oWnd:nWidth()-96 BTNBMP oBtn102;
                OF oRBar  ;
                PROMPT "Max" + CRLF + "Rest";
                SIZE 48, 48 ;
                PIXEL;
                ACTION ( oWnd:Move( aArea[1], aArea[ 2 ], aArea[4], aArea[ 3 ] ), oRBar:refresh() )

            @ 1, oWnd:nWidth()-144 BTNBMP oBtn103;
                OF oRBar  ;
                PROMPT "Min";
                SIZE 48, 48 ;
                PIXEL;
                ACTION ( oWnd:Minimize() )


            //Grupo 1
            ADD GROUP oGr20;
                RIBBON oRBar;
                TO OPTION 1;
                PROMPT "Trabajando con Camareros...";
                WIDTH 180

            @ 15, 15 ADD BUTTON oBtn20;
                GROUP oGr20;
                SIZE 150, 130;
                ROUND;
                action Ribbon( oWnd )
           

    activate window oWnd maximized;
    on init oWnd:Move( aArea[1], aArea[ 2 ], aArea[4], aArea[ 3 ] )

RETURN NIL

//***********************************************************************//

FUNCTION fhTaskBar()  //Of Daniel Garcia-Gil
   local hTaskBar := FindWindow("Shell_TrayWnd", 0)
   local aClientRect := GetClientRect( hTaskBar )
   
RETURN aClientRect[ 3 ]

 

Function Ribbon( oWnd )

   local oDlg
   local aBtn := Array( 20 )
   local aGrp := Array( 5 )
   local oBrush
   local oMenu
   local oBlur

   oBlur = BlurEffect( oWnd )  

   MENU oMenu POPUP 2007
      MENUITEM "Style Set" FILE "..\bitmaps\styleset161.BMP"
      MENUITEM "Colors"
      MENUITEM "Font"
   ENDMENU

   DEFINE BRUSH oBrush FILE "..\bitmaps\backgrnd\boards.bmp"  

   DEFINE DIALOG oDlg title "Test RibbonBar Own Control " + FWVERSION SIZE 600,600 PIXEL BRUSH oBrush

   @ 010, 010 RBGROUP aGrp[ 1 ] PROMPT "Test" of oDlg SIZE 90, 40
   
   @ 010, 060 RBGROUP aGrp[ 2 ] PROMPT "Transparent" of oDlg SIZE 90, 40 TRANSPARENT
   
   @ 010, 110 RBGROUP aGrp[ 3 ] PROMPT "Own Color" of oDlg SIZE 90, 40 ;
              GRADIANT { { 0.1, RGB( 254, 154, 128 ), RGB( 254, 154, 128 ) }, ;
                         { 0.9, RGB( 252, 85, 40 ), RGB( 181, 61, 29 ) } };
              LINECOLORS RGB( 249, 194, 179 ), RGB( 181, 61, 29 );
              CAPTIONGRAD { { 1, RGB( 239, 56, 6 ), RGB( 239, 56, 6 ) } };
              TEXTCOLOR CLR_WHITE
             
   @ 100, 05 RBBTN  aBtn[ 1 ] PROMPT "Say Button" SAYBUTTON OF oDlg SIZE 50, 15 CENTER ROUND BORDER;
             ACTION( MsgInfo( "Say Button" ) )
   
   @ 100, 60 RBBTN  aBtn[ 2 ] PROMPT "Button"     OF oDlg SIZE 50, 15 CENTER ROUND BORDER;
             GRADIANT { { 1/3, nRGB( 254, 154, 128 ), nRGB( 254, 154, 128 ) } , ;
                         { 2/3, nRGB( 252, 85, 40 ), nRGB(181, 61, 29 ) } } ;
             LINECOLORS RGB( 249, 194, 179 ), RGB( 181, 61, 29 )
             
   @ 120, 005 RBBTN aBtn[ 4 ] PROMPT "Most Left"  OF oDlg SIZE 70, 15 MOSTLEFT ROUND BORDER ;
              BITMAP "..\bitmaps\textalignleft16.bmp"

   @ 120, 080 RBBTN aBtn[ 5 ] PROMPT "Left"  OF oDlg SIZE 70, 15 LEFT ROUND BORDER ;
              BITMAP "..\bitmaps\textalignleft16.bmp"

   @ 140, 005 RBBTN aBtn[ 6 ] PROMPT "Center"  OF oDlg SIZE 70, 20 CENTER ROUND BORDER ;
              BITMAP "..\bitmaps\textaligncenter16.bmp"

   @ 165, 005 RBBTN aBtn[ 7 ] PROMPT "Most Right"  OF oDlg SIZE 70, 15 MOSTRIGHT ROUND BORDER ;
              BITMAP "..\bitmaps\textalignright16.bmp"

   @ 165, 080 RBBTN aBtn[ 8 ] PROMPT "Right"  OF oDlg SIZE 70, 15 RIGHT ROUND BORDER ;
              BITMAP "..\bitmaps\textalignright16.bmp"


   @ 100, 165 RBBTN  aBtn[ 9 ] PROMPT "Rect Corner" OF oDlg SIZE 50, 15 CENTER BORDER

   @ 100, 220 RBBTN aBtn[ 10 ] OF oDlg BITMAP "..\bitmaps\select16.BMP" ;
              SIZE 35, 10 PROMPT "Popup"  MOSTLEFT ROUND POPUP BORDER
   
   @ 130, 165 RBBTN aBtn[ 11 ] PROMPT "SplitPopup"  OF oDlg SIZE 35, 50;
              SPLITPOPUP ROUND BORDER MENU oMenu BITMAP "..\bitmaps\textaligncenter16.bmp"


   @ 110, 220 RBBTN aBtn[ 12 ] OF oDlg BITMAP "..\bitmaps\select16.BMP" MENU oMenu;
              SIZE 70, 10 PROMPT "Action"  MOSTLEFT ROUND POPUP BORDER ;
              ACTION( MsgInfo( "Action" ) )
   
   @ 130, 220 RBBTN aBtn[ 13 ] PROMPT "Popup"  OF oDlg SIZE 35, 50;
              SPLITPOPUP ROUND BORDER MENU oMenu BITMAP "..\bitmaps\textaligncenter16.bmp";
              ACTION( MsgInfo( "Action" ) ) CENTER

   @ 200, 005 RBBTN aBtn[ 14 ] PROMPT "Transparent" OF oDlg SIZE 50, 15 CENTER BORDER TRANSPARENT

   @ 200, 080 RBBTN aBtn[ 15 ] OF oDlg BITMAP "..\bitmaps\AlphaBmp\TEXT.BMP" ;
              SIZE 40, 60 PROMPT "ALPHA"  TOP TRANSPARENT

   @ 200, 150 RBBTN aBtn[ 16 ] OF oDlg BITMAP "..\bitmaps\textalignleft16.bmp" GROUPBUTTON FIRST SIZE 12, 10 ROUND ;
      ACTION( ChangeSelect( { aBtn[ 16 ], aBtn[ 17 ], aBtn[ 18 ], aBtn[ 19 ] } ) )
   
   @ 200, 162 RBBTN aBtn[ 17 ] OF oDlg BITMAP "..\bitmaps\textaligncenter16.bmp" GROUPBUTTON SIZE 12, 10 ROUND ;
      ACTION( ChangeSelect( { aBtn[ 17 ], aBtn[ 16 ], aBtn[ 18 ], aBtn[ 19 ] } ) )
   
   @ 200, 174 RBBTN aBtn[ 18 ] OF oDlg BITMAP "..\bitmaps\textalignright16.bmp" GROUPBUTTON SIZE 12, 10 ROUND;
      ACTION( ChangeSelect( { aBtn[ 18 ], aBtn[ 17 ], aBtn[ 16 ], aBtn[ 19 ] } ) )
   
   @ 200, 186 RBBTN aBtn[ 19 ] OF oDlg BITMAP "..\bitmaps\textalignjustify16.bmp" GROUPBUTTON END SIZE 12, 10 ROUND;
      ACTION( ChangeSelect( { aBtn[ 19 ], aBtn[ 18 ], aBtn[ 17 ], aBtn[ 16 ] } ) )


   ACTIVATE DIALOG oDlg CENTERED
   
   AEval( aGrp, { | o | if( o != NIL,  o:End(), ) } )
   oBrush:End()
   oBlur:End()

return nil

Procedure ChangeSelect( aObj )

   local n
     
   aObj[ 1 ]:lSelected := .t.
   for n = 2 to len( aObj )
      aObj[ n ]:lSelected := .f.
      aObj[ n ]:Refresh()
   next
return

Function ChangeBmp( oBmp )
                  
   static lWork
   
   if lWork == nil
      lWork := .f.
   endif

   if !lWork
      lWork := .t.
      nIndex+=nAvance
     
      if nIndex > LEN( aBmp )
         nAvance := -1
         nIndex := LEN( aBmp ) + nAvance
      elseif nIndex == 0
         nAvance := 1
         nIndex := 1 + nAvance
      endif
      oBmp:hBitmap = aBmp[ nIndex ]
      oBmp:Refresh()
      lWork := .f.
   
   endif

   
return nil

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

Function BackStage( oRBar )

   local  oBackStage
   
   DEFINE BACKSTAGE oBackStage
   
   DEFINE BSBUTTON OF oBackStage PROMPT "Save" ;
          BITMAP "..\bitmaps\alphabmp\bs_save.bmp" ACTION Msginfo( oOpt:cPrompt );
          GRADIENT { { 1, nRGB(  255, 255, 0 ), nRGB( 255, 255, 255 ) } }
         
   DEFINE BSBUTTON OF oBackStage PROMPT "Save As" ;
          BITMAP "..\bitmaps\alphabmp\bs_saveas.bmp" ACTION Msginfo( oOpt:cPrompt );
          GRADIENT { { 1,  nRGB( 242, 96, 96 ), nRGB( 195, 37, 37 ) } };
          COLORTEXT CLR_BLACK, CLR_WHITE
   
   DEFINE BSBUTTON OF oBackStage PROMPT "Open" ;
          BITMAP "..\bitmaps\alphabmp\bs_open.bmp" ACTION Msginfo( oOpt:cPrompt )
   
   DEFINE BSBUTTON OF oBackStage PROMPT "Close";
          BITMAP "..\bitmaps\alphabmp\bs_close.bmp" ACTION Msginfo( oOpt:cPrompt )
   

   DEFINE BSSELECT OF oBackStage PROMPT "Information";
          COLORTEXT NIL, CLR_HRED ACTION Msginfo( oOpt:cPrompt )

   DEFINE BSSELECT OF oBackStage PROMPT "New" ACTION Msginfo( oOpt:cPrompt )

   DEFINE BSSELECT OF oBackStage PROMPT "Print" ACTION Msginfo( oOpt:cPrompt )

   DEFINE BSSELECT OF oBackStage PROMPT "Save / Send" ACTION Msginfo( oOpt:cPrompt );
      GRADIENT { { 1, nRGB(  255, 255, 0 ), nRGB( 255, 255, 255 ) } }

   DEFINE BSSELECT OF oBackStage PROMPT "Help" ACTION Msginfo( oOpt:cPrompt );
          COLORS nRGB( 242, 96, 96 ), nRGB( 195, 37, 37 )

   DEFINE BSBUTTON OF oBackStage PROMPT "Option" ;
          BITMAP "..\bitmaps\alphabmp\bs_options.bmp" ACTION Msginfo( oOpt:cPrompt )
         
   DEFINE BSBUTTON OF oBackStage PROMPT "Exit" ;
          BITMAP "..\bitmaps\alphabmp\bs_exit.bmp" ACTION Msginfo( oRBar:oWnd:End() )

   
   
   
   SET BACKSTAGE oBackStage TO oRBar

   
return nil
     
     

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

Function TestRes( oWnd )

   local oDlg
   local oBtn5, oBtn6, obtn7, oBtn8, oBtn9, oBtn10, oBtn11

   DEFINE DIALOG oDlg RESOURCE "TEST"
   
   REDEFINE RBBTN ID 100 OF oDlg  BITMAP "..\bitmaps\PASTE32.BMP" ;
            ACTION ( RIBBON() ) ;
            SPLITPOPUP ROUND
   
   REDEFINE RBBTN ID 101 OF oDlg  BITMAP "..\bitmaps\cut16.BMP" ;
            MOSTLEFT ROUND ;
            ACTION ( msginfo( "Cut" ) )
     
   REDEFINE RBBTN ID 102 OF oDlg BITMAP "..\bitmaps\copy16.BMP" ;
            PROMPT "Copy"  MOSTLEFT ROUND ;
            ACTION( msginfo( "Copy" ) )
   
   
   REDEFINE RBBTN ID 103 OF oDlg BITMAP "..\bitmaps\paste16.BMP" ;
            PROMPT "Paste"  MOSTLEFT ROUND ;
            ACTION( msginfo( "Paste" ) )
     
     
   REDEFINE RBBTN ID 104 OF oDlg SAYBUTTON
   
   REDEFINE RBBTN oBtn5 ID 105 OF oDlg BITMAP "..\bitmaps\bold16.bmp" GROUPBUTTON FIRST ROUND ;
            ACTION( oBtn5:lSelected := !oBtn5:lSelected )
   
   REDEFINE RBBTN oBtn6 ID 106 OF oDlg BITMAP "..\bitmaps\italic16.bmp" GROUPBUTTON ROUND ;
      ACTION( oBtn6:lSelected := !oBtn6:lSelected )
   
   REDEFINE RBBTN oBtn7 ID 107 OF oDlg BITMAP "..\bitmaps\underline16.bmp" GROUPBUTTON ROUND Popup
   
   REDEFINE RBBTN oBtn8 ID 108 OF oDlg BITMAP "..\bitmaps\strikethru16.bmp" GROUPBUTTON ROUND;
      ACTION( oBtn8:lSelected := !oBtn8:lSelected )
   
   REDEFINE RBBTN oBtn9 ID 109 OF oDlg BITMAP "..\bitmaps\subindex16.bmp" GROUPBUTTON  ROUND;
      ACTION( oBtn9:lSelected := !oBtn9:lSelected, oBtn10:lSelected := .f., oBtn10:Refresh() )
     
   REDEFINE RBBTN oBtn10 ID 110 OF oDlg BITMAP "..\bitmaps\superindex16.bmp" GROUPBUTTON ROUND ;
      ACTION( oBtn10:lSelected := !oBtn10:lSelected, oBtn9:lSelected := .f., oBtn9:Refresh() )
   
   REDEFINE RBBTN oBtn11 ID 111 OF oDlg BITMAP "..\bitmaps\casing16.bmp" GROUPBUTTON END ROUND POPUP
   
   ACTIVATE DIALOG oDlg

return nil



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

function AddResource( nHResource, cType )

   AAdd( aResources, { cType, nHResource, ProcName( 3 ), ProcLine( 3 ) } )
   
return nil  

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

function DelResource( nHResource )

   local nAt

   if ( nAt := AScan( aResources, { | aRes | aRes[ 2 ] == nHResource } ) ) != 0
      ADel( aResources, nAt )
      ASize( aResources, Len( aResources ) - 1 )
   endif    

return nil

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


Function BlurEffect( oDialog )
  LOCAL hBmp, i
  LOCAL hBlur
  LOCAL oWnd
  LOCAL aRect := GetClientRect( oDialog:hWnd )
  local aCoor := GetCoors( oDialog:hWnd )
  local nTop := 0//GetSysMetrics( 51 ) + GetSysMetrics( 33 ) + 4
  local nLeft := 0//GetSysMetrics( 32 )

  oDialog:GetDC()
  hBmp := MakeBkBmp( oDialog:hWnd , oDialog:hDC )

  hBlur := Blur( hBmp , 4 )
 
  DEFINE WINDOW oWnd STYLE nOr( WS_POPUP, WS_VISIBLE ) ;
  FROM aCoor[ 1 ] + nTop, aCoor[ 2 ] + nLeft TO aCoor[ 3 ] - GetSysMetrics( 33 ), aCoor[ 4 ] - nLeft PIXEL

  ACTIVATE WINDOW oWnd;
      ON PAINT ( PalBmpDraw( hDC , 0 , 0 , hBlur ) );
      VALID ( DeleteObject( hBlur ), DeleteObject( hBmp ), .T. )
  oWnd:REFRESH()
  oDialog:ReleaseDC()

return oWnd

#pragma BEGINDUMP
#include <windows.h>
#include <hbapi.h>

HB_FUNC( GETWORKAREA )
{
   RECT rect;
   memset( &rect, 0x00, sizeof( RECT ) );
   SystemParametersInfo( SPI_GETWORKAREA, 0, &rect, 0 );

   hb_reta( 4 );
   hb_storvnl( ( LONG ) rect.top,    -1, 1 );
   hb_storvnl( ( LONG ) rect.left,   -1, 2 );
   hb_storvnl( ( LONG ) rect.bottom, -1, 3 );
   hb_storvnl( ( LONG ) rect.right,  -1, 4 );
   
}

#pragma ENDDUMP


 
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Blur effect!!! /// RibbonBar ::FiveTech

Postby Bayron » Mon Oct 03, 2011 3:08 pm

Daniel, Gracias por contestar...

No probé tu ejemplo completamente porque mi version de fivewin es la 10.2.. pero probe con:

Code: Select all  Expand view
on init oWnd:Move( aArea[1], aArea[ 2 ], aArea[4], aArea[ 3 ] )


Funcionó en el ejemplo, pero no funcionó en mi programa...

Lo del efecto Blur, ya fue resuelto... y lo del pintado de la RibbonBar no tiene nada que ver con el... sino con el estilo PopUp...

Por ahora lo tengo resuelto de la forma anteriormente expuesta y creo que lo vamos a dejar así para evitar extender este post innecesariamente...

Gracias por tu apoyo....

http://www.youtube.com/watch?v=-Yfxhmf_KFM
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Blur effect!!! /// RibbonBar ::FiveTech

Postby AIDA » Mon Oct 03, 2011 11:18 pm

HOLA

ese efecto Blur esta super :shock:
es de fivewin o codiguito tuyo :?:

Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: Blur effect!!! /// RibbonBar ::FiveTech

Postby Daniel Garcia-Gil » Tue Oct 04, 2011 12:44 am

Hola

si esta incluido en fivewin
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Blur effect!!! /// RibbonBar ::FiveTech

Postby AIDA » Wed Oct 05, 2011 2:04 am

Muchas gracias creo que a mi ya no me toco tenerla esta genial

Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 87 guests