FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Pequeña contribución
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Pequeña contribución

Posted: Sun Jul 01, 2012 04:08 AM
Para hacer nuestros programas más amenos, ya que hace unos minutos me topé con esta función que creo está disponible desde FWH11.11, les dejo un arreglo para poder cambiar el gradiente de nuestros dialogos cada vez que ingresemos a un programa, funcion, etc...

Code (fw): Select all Collapse
    PUBLIC aDlgGradient[4][1]
    
    aDlgGradient[1] := { { 0.50,  CLR_RED, CLR_BLUE } }
    aDlgGradient[2] := { { 0.50,  CLR_GREEN, CLR_YELLOW } }
    aDlgGradient[3] := { { 0.50,  CLR_GRAY, CLR_BLACK } }
    aDlgGradient[4] := { { 0.50,  CLR_WHITE, CLR_BLUE } }
    
    SetDlgGradient( aDlgGradient[( 1 + nRandom (3) ) ] )


Puede ser utilizada al ingresar a nuestro programa, con un timer, etc.. etc..

A ver quien colabora con Gradientes bonitos y elegantes????

=====>

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

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 880
Joined: Fri Jan 12, 2007 08:35 PM

Re: Pequeña contribución

Posted: Sun Aug 26, 2012 07:32 AM

Gracias :D

Saluditos :wink:

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

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: Pequeña contribución

Posted: Mon Aug 27, 2012 08:12 PM

Creo que deberias de poner un TEST.PRG compilable para probar.

Saludos

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Re: Pequeña contribución

Posted: Tue Aug 28, 2012 02:11 AM

Saludos Cesar, creo que el ejemplo es auto explanatorio y auto contenido...

No hay mas que agregar esas lineas de codigo al inicio de tu programa y podrás ver como funciona...

La funcion que hace todo es propia de FiveWin, yo solamente le he agregado la manera de que sea elegida aleatoriamente...

A ver si alguien propone algunas combinaciones mas agradables de gradientes, porque yo para eso si soy bien malo...

=====>

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

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: Pequeña contribución

Posted: Tue Aug 28, 2012 02:36 AM

si tu eres malo yo soy bien novato en eso jeje.

Saludos.

Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "
Posts: 1144
Joined: Mon Feb 05, 2007 07:15 PM

Re: Pequeña contribución

Posted: Tue Aug 28, 2012 02:49 AM
BYRON,

Compila y ejecuta este ejemplo:

checa la sig. linea de codigo:

DEFINE DIALOG oDlg FROM 0, 0 TO 30, 70 ;
STYLE WS_CHILD OF oWndChild TRANSPARENT

prueba con y sin TRANSPARENT

Con transparent me sale diferente el degradado pasa eso contigo ?

saludos.

Code (fw): Select all Collapse
// This is an example of how to place controls inside a MDIChild
// from a dialog built from source code

#include "FiveWin.ch"

static oWnd, oDlg, oWndChild

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

function Main()
   local oBar
   
   local aDlgGradient[4][1]

   SET _3DLOOK ON
   
   aDlgGradient[1] := { { 0.50,  CLR_RED, CLR_BLUE } }
   aDlgGradient[2] := { { 0.50,  CLR_GREEN, CLR_YELLOW } }
   aDlgGradient[3] := { { 0.50,  CLR_GRAY, CLR_BLACK } }
   aDlgGradient[4] := { { 0.50,  CLR_WHITE, CLR_BLUE } }
    
   SetDlgGradient( aDlgGradient[( 1 + nRandom (3) ) ] )
    

   DEFINE WINDOW oWnd TITLE "MDIChilds from resources" MDI

   DEFINE BUTTONBAR oBar _3D OF oWnd

   //DEFINE BUTTON OF oBar ACTION ( Child(), MsgInfo( oWnd:oWndClient:aWnd[ 1 ]:cCaption ) )
   
   DEFINE BUTTON OF oBar ACTION ( Child() )
   

   ACTIVATE WINDOW oWnd

return nil

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

function Child()

   local  oBtn
   local cName := "Testing..."
   local oGet
   
   local oFont1, oFont2
   
   DEFINE FONT oFont1 NAME "Blackoak Std" size 15, 40 BOLD
   DEFINE FONT oFont2 NAME "Blackoak Std" size 15, 15 BOLD
   
   DEFINE WINDOW oWndChild MDICHILD OF oWnd ;
      COLOR "N/W"
      

   oWndChild:bGotFocus  = { || oDlg:SetFocus() }

   DEFINE DIALOG oDlg FROM 0, 0 TO 30, 70 ;
      STYLE WS_CHILD OF oWndChild TRANSPARENT

   oDlg:bLostFocus = { || MsgBeep() }

   @ 50, 50 BUTTON "&Ok" OF oDlg ACTION MsgInfo( "Click" ) pixel
   
   @ 100, 50 BUTTON "&Ok" OF oDlg ACTION MsgInfo( "Click" ) pixel
   
   @ 100, 100 SAY "Factura : " OF oDlg pixel color CLR_WHITE, CLR_BLACK FONT oFont2
   @ 110, 100 GET oGet VAR cName of oDlg SIZE 100, 25  PICTURE "@!k" PIXEL UPDATE FONT oFont1  CENTER
   oGet:SetColor( CLR_HBLUE, CLR_WHITE )
   oGet:cToolTip := 'Testing a Get in windows child and dialog'      
   

   ACTIVATE DIALOG oDlg NOWAIT ;  // It has to be NonModal --> NOWAIT clause
      ON INIT oDlg:Move( 0, 0 ) 

   oWndChild:bResized := {|| ResizeWndMain() }

   ACTIVATE WINDOW oWndChild //;
      // ON INIT oWndChild:SetSize( oDlg:nWidth, oDlg:nHeight )

return nil

Function ResizeWndMain()
   local aClient
   if oDlg != NIL
      aClient := GetClientRect (oWndChild:hWnd )
      oDlg:SetSize( aClient[4], aClient[3] )
      oDlg:Refresh()
      SysRefresh()
   endif
return NIL


Por cierto, este ejemplo trabaja con MDI, y un dialogo montado en una windows CHILD.
Cesar Cortes Cruz

SysCtrl Software

Mexico



' Sin +- FWH es mejor "

Continue the discussion