Dialog Color / Gradient

nanoespinoza
Posts: 141
Joined: Thu Mar 16, 2017 4:08 pm
Location: Ecuador

Re: Dialog Color / Gradient

Post by nanoespinoza »

Estimados todos.

Se tiene alguna actualización para esta función.

Saludos

Fernando Espinoza A.
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Dialog Color / Gradient

Post by karinha »

nanoespinoza wrote:Estimados todos.

Se tiene alguna actualización para esta función.

Saludos

Fernando Espinoza A.
Buenos días Fernando. ¿Qué te falta?

Code: Select all | Expand

// C:\FWH\SAMPLES\GRADDLGS.PRG - 20/12/2017. - Very good.

#Include "FiveWin.ch"

FUNCTION Main()

   LOCAL oFont
   LOCAL oDlg, oGet, oBtn, aGet := ARRAY(10)
   LOCAL cTest  := SPACE(12)
   LOCAL nTest  := 1234567

   SET _3DLOOK ON

   DEFINE FONT oFont NAME "Ms Sans Serif"  SIZE 00, -14 BOLD

   DEFINE DIALOG oDlg TITLE "DlgGradient" FROM 2, 2 TO 15, 50 FONT oFont

   oDlg:lHelpIcon := .F.

   @ 1.5, 02 GET aGet[6] VAR cTest OF oDlg SIZE 120, 12 PIXEL FONT oFont ;
      PICTURE "@KR 9,999,999.99" UPDATE

   @ 4.5, 4 BUTTON oBtn PROMPT "&Ok" SIZE 45, 12 OF oDlg ;
      ACTION ( oDlg:End(), MsgInfo( cTest ) ) DEFAULT

   @ 4.5, 15 BUTTON "&Cancel" SIZE 45, 12 OF oDlg ACTION ( oDlg:End() ) CANCEL

   GradDlgs( "SolidChoral" )

   ACTIVATE DIALOG oDlg CENTERED

   oFont:End()

RETURN NIL
// ----------------------------------------------------------------------------//
// Gradient for Dialogs: Thanks to Rick Lipkin
// ----------------------------------------------------------------------------//
FUNCTION GradDlgs( cTheme )

   LOCAL x
   LOCAL aGrad    := {}
   LOCAL aTmp     := {}
   LOCAL aThemes  := { ;
      { "SolidWhite",     { { 0.5, nRGB( 255, 255, 255 ), nRGB( 255, 255, 255 ) } } }, ;
      { "BlueGreen",      { { 1.00, 14671839, 7419904 }, { 1.00, 7419904, 14671839 } } }, ;
      { "SolidGreenBlue", { { 0.01, 9994298, 9994298 }, { 0.01, 9994298, 9994298 } } }, ;
      { "SolidDarkBlue",  { { 0.50, 4720905, 4720905 }, { 0.50, 4720905, 4720905 } } }, ;
      { "SolidBlue",      { { 0.01, 16711680, 16711680 }, { 0.01, 16711680, 16711680 } } }, ;
      { "DarkBlue",       { { 0.0, 8388608, 13619151 }, { 0.0, 13619151, 8388608 } } }, ;
      { "LightGreen",     { { .50, nRGB( 210, 235, 216 ), nRGB( 255, 255, 255 ) } } }, ;
      { "LightBlue",      { { .50, nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ) } } }, ;
      { "LightGrey",      { { .50, nRGB( 216, 216, 216 ), nRGB( 255, 255, 255 ) } } }, ;
      { "Standard",       { { .50, nRGB( 236, 233, 216 ), nRGB( 255, 255, 255 ) } } }, ;
      { "DarkGrey",       { { 0.87, 16777215, 11513775 }, { 0.87, 11513775, 16777215 } } }, ;
      { "SolidGrey",      { { .50, nRGB( 233, 233, 233 ), nRGB( 233, 233, 233 ) } } }, ;
      { "SolidChoral",    { { 0.01, 8388736, 8388736 }, { 0.01, 8388736, 8388736 } } }, ;
      { "LightYellow",    { { 0.01, 8440801, 16777215 }, { 0.75, 16777215, 8440801 } } }, ;
      { "GreenBlue",      { { .50, nRGB( 192, 192, 192 ), nRGB( 45, 121, 147 ) } } } ;
      }

   DEFAULT cTheme := ""

   IF ValType( cTheme ) == "C"

      AEval( aThemes, {| a | AAdd( aTmp, Upper( a[ 1 ] ) ) } )
      x := AScan( aTmp, Upper( cTheme ) )

      IF !Empty( x )
         aGrad := aThemes[ x ][ 2 ]
      ENDIF

   ELSE

      IF ValType( cTheme ) == "A"
         aGrad   := cTheme
      ENDIF

   ENDIF

   IF .NOT. Empty( aGrad )

      SetDlgGradient( aGrad )

   ENDIF

RETURN( aThemes )
// -------------------
FUNCTION GreyButtonGrad()

// 2010 grey button skin

   LOCAL bGrad

   bGrad := {| lInvert | If( ! lInvert, ;
      { { 1, nRGB( 255, 255, 255 ), nRGB( 207, 207, 207 ) } }, ;
      { { 1 / 3, nRGB( 255, 253, 222 ), nRGB( 255, 231, 151 ) }, ;
      { 2 / 3, nRGB( 255, 215,  84 ), nRGB( 255, 233, 162 ) } } ) }

RETURN( bGrad )

// ---------------------------
FUNCTION BlueGreenGrad()

   LOCAL xGrad4 :=  { { 1.00, 14671839,   7419904 }, { 1.00, 7419904,  14671839 } }   // med blue

   SetDlgGradient( xGrad4 )

RETURN NIL

// ---------------------
FUNCTION SolidGreenBlue()

   SetDlgGradient( { { 0.01, 9994298, 9994298 }, { 0.01, 9994298, 9994298 } } )

RETURN NIL


// -------------
FUNCTION SolidDarkBlue()

   SetDlgGradient( { { 0.50, 4720905, 4720905 }, { 0.50, 4720905, 4720905 } } )

RETURN NIL

// -------------------
FUNCTION SolidBlue()

   SetDlgGradient( { { 0.01, 16711680, 16711680 }, { 0.01, 16711680, 16711680 } } )

RETURN NIL

// ------------------
FUNCTION DarkBlueGrad()

   SetDlgGradient( { { 0.0, 8388608, 13619151 }, { 0.0, 13619151, 8388608 } } )

RETURN NIL

// --------------
FUNCTION LightGreenGrad()

   SetDlgGradient( { { .50, nRGB( 210, 235, 216 ), nRGB( 255, 255, 255 ) } } )

RETURN NIL

// ------------------
FUNCTION LightBlueGrad()

   SetDlgGradient( { { .50, nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ) } } )

RETURN NIL

// ------------------
FUNCTION LightGreyGrad()

   SetDlgGradient( { { .50, nRGB( 216, 216, 216 ), nRGB( 255, 255, 255 ) } } )

RETURN NIL

// -----------------
FUNCTION StandardGrad()

   SetDlgGradient( { { .50, nRGB( 236, 233, 216 ), nRGB( 255, 255, 255 ) } } )

RETURN NIL

// --------------------
FUNCTION DarkGreyGrad()

   SetDlgGradient( { { 005.9000, 14671839, 4144959  }, { 0.1, 4144959, 14671839  } } )          // .80

RETURN NIL

// ------------------------------------
FUNCTION SolidWhite()

   SetDlgGradient( { { 0.01, 16777215, 16777215 }, { 0.01, 16777215, 16777215 } } )

RETURN NIL

// --------------------
FUNCTION SolidGrey()

   SetDlgGradient( { { .50, nRGB( 233, 233, 233 ), nRGB( 233, 233, 233 ) } } )

RETURN NIL

// --------------------
FUNCTION SolidChoral()

   SetDlgGradient( aGrad := { { 0.01, 8388736, 8388736 }, { 0.01, 8388736, 8388736 } } )

RETURN NIL

// -----------------
FUNCTION LightYellow()

   SetDlgGradient( { { 0.01, 8440801, 16777215 }, { 0.75, 16777215, 8440801 } } )

RETURN NIL

// -------------------
FUNCTION GreenBlueGrad()

   SetDlgGradient( { { .50, nRGB( 192, 192, 192 ), nRGB( 45, 121, 147 ) } } )

RETURN NIL

// FIN / END
 
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
nanoespinoza
Posts: 141
Joined: Thu Mar 16, 2017 4:08 pm
Location: Ecuador

Re: Dialog Color / Gradient

Post by nanoespinoza »

No es tanto como que le falte algo, sino, que consultaba si tenía alguna mejora visual importante.
Post Reply