Page 2 of 3

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Tue Oct 27, 2015 3:13 pm
by checo176
karinha,

Revisé el código que me enviaste, junto con su fichero RC, pero lamentablemente continúa el error. Sólo cambia el color de la fuente, no así su fondo. Le agregué un Say fuera del Folder y si funciona fuera del Folder. Definitivamente no funciona sobre el TFolderEx. Que lástima.

Te adjunto la imagen que obtengo:

Image
sube

Tu puedes lograr que se pueda cambiar el fondo del SAY sobre el TFolderEx??

Quedo atento a tus comentarios

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Tue Oct 27, 2015 3:51 pm
by karinha
Comprendo. Ahora, és con el maestro Antonio. Saludos.

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Tue Oct 27, 2015 3:59 pm
by checo176
Maestro Antonio:

No quisiera molestar, pero pudiste obtener alguna respuesta del mail que le enviaste a Danie?? Sería estupendo poder usar la Clase TFolderEx, ya que es mucho más completa y potente que la Clase TFolder.

De ante mano muchas gracias por tu apoyo

Saludos desde Chile

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Tue Oct 27, 2015 9:37 pm
by Antonio Linares
Sergio,

Me respondió comentándome que lo iba a revisar, no habrá tenido tiempo libre aún

Yo le he estado dando vueltas pero no se me ocurre a que se pueda deberse ese efecto

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Tue Oct 27, 2015 10:34 pm
by Antonio Linares
Lo que he observado es que los SAYs toman el brush de su contenedor al dibujarse pero no entiendo por qué:

Code: Select all  Expand view
  IF lStatus
      oSay:SETCOLOR( CLR_BLUE, CLR_YELLOW )
      oSay1:SETCOLOR( METRO_GREEN, CLR_YELLOW )
      oSay1:oWnd:SetBrush( oSay1:oBrush )      
   ELSE  
      oSay:SETCOLOR( CLR_YELLOW, METRO_PINK )
      oSay1:SETCOLOR( METRO_RED, METRO_PINK )
      oSay1:oWnd:SetBrush( oSay1:oBrush )      
   ENDIF    
 

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Wed Oct 28, 2015 12:50 am
by checo176
Maestro Antonio:

Gracias por la aclaración. Bueno habrá que seguir buscando que puede ser ese comportamiento.

Un abrazo y buenas noches

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Sun Nov 01, 2015 12:22 pm
by Daniel Garcia-Gil
Saludos


trata de no hacer transparente el dialogo contenedor

Code: Select all  Expand view
 
   REDEFINE FOLDEREX oFld1 ID 110 OF oDlg;
        PROMPT "&Clipper", "&Windows" DIALOGS "Sub1", "Sub2"
   
    oFld1:aDialogs[1]:lTransparent := .F.
   
....
 

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Sun Nov 01, 2015 2:09 pm
by cnavarro
Daniel

Este es el ejemplo
Code: Select all  Expand view


#include "FIVEWIN.CH"

STATIC oDlg, oSay, oSay2, oBr
 
FUNCTION MAIN()
 
   local oFld1, oBtn, oCheck
   local lCheck := .f.

   DEFINE BRUSH oBr COLOR CLR_GREEN
 
   DEFINE DIALOG oDlg RESOURCE "DIALOG0"
 
   REDEFINE FOLDEREX oFld1 ID 110 OF oDlg;
        PROMPT "&Clipper", "&Windows" DIALOGS "Sub1", "Sub2"

   oFld1:aDialogs[1]:lTransparent   := .F.

    REDEFINE SAY oSay  ID 1001 OF oFld1:aDialogs[1] //UPDATE
    //oSay:lTransparent  := .T.

    REDEFINE SAY oSay2 ID 1004 OF oFld1:aDialogs[1] UPDATE

    oSay2:Disable()
 
    REDEFINE CHECKBOX oCheck VAR lCheck ID 1003 OF oFld1:aDialogs[1]
 
    REDEFINE BUTTON oBtn ID 1002 OF oFld1:aDialogs[1];
             ACTION ChangeColor( oFld1 )

    //    ACTION ( oSay2:Enable()) // oFld:aDialogs[1]:Refresh()
 
    ACTIVATE DIALOG oDlg CENTERED //ON INIT oFld1:Default() // oFld1:aDialogs[ 1 ]:oBrush:End()
    oBr:End()
 
return nil

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

FUNCTION ChangeColor( oFld1  )

   STATIC lStatus := .F.
   
   IF lStatus

      oSay:SETCOLOR( CLR_BLUE, CLR_HRED, oBr  )
   
   ELSE

      oSay:SETCOLOR( CLR_HRED, CLR_WHITE, oBr )

   ENDIF    

   oFld1:aDialogs[ 1 ]:Refresh()
   //oSay:Refresh()
   //oSay:UpDate()
   //oFld1:Refresh()
   //oFld1:UpDate()
   //oFld1:SetOption( 2 )
   //oDlg:UpDate()
   //oFld1:SetOption( 1 )

   lStatus = ! lStatus

RETURN Nil
 


El .rc
Code: Select all  Expand view

DIALOG0 DIALOGEX 44,23,315,171
FONT 8,"MS Sans Serif"
LANGUAGE 7,1
STYLE WS_POPUP|WS_VISIBLE|WS_CAPTION|WS_SYSMENU|DS_MODALFRAME|DS_3DLOOK
BEGIN
  CONTROL "",110,"TFOLDEREX",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,4,5,305,163
END

sub1 DIALOGEX 18,18,264,159
FONT 8,"MS Sans Serif"
LANGUAGE 7,1
STYLE WS_CHILDWINDOW|WS_VISIBLE|DS_3DLOOK
BEGIN
  CONTROL "Text",101,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|WS_TABSTOP|BS_AUTORADIOBUTTON,24,33,28,12
  CONTROL "this is a Label 1 with Information",1001,"Static",WS_CHILDWINDOW|WS_VISIBLE,24,60,165,9
  CONTROL "Click me",1002,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP,57,102,54,15
  CONTROL "Checkbox",1003,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_TABSTOP|BS_AUTOCHECKBOX,27,15,54,9
  CONTROL "this is a Label 2 with Information",1004,"Static",WS_CHILDWINDOW|WS_VISIBLE,24,75,168,9
END

sub2 DIALOGEX 18,18,273,150
FONT 8,"MS Sans Serif"
LANGUAGE 7,1
STYLE WS_CHILDWINDOW|WS_VISIBLE|DS_3DLOOK
BEGIN
  CONTROL "Text",102,"Button",WS_CHILDWINDOW|WS_VISIBLE|WS_GROUP|WS_TABSTOP|BS_AUTORADIOBUTTON,37,30,28,12
  CONTROL "Label 2",1001,"Static",WS_CHILDWINDOW|WS_VISIBLE,39,60,54,9
END
 


Y esto es lo que aparece cuando pulso sobre el boton
Image

Re: Cambiar Color de Fondo de un SAY en un TFolderEx (RESUELTO)

PostPosted: Tue Nov 03, 2015 3:44 am
by checo176
Daniel:

Gracias por tu sugerencia. Efectivamente el problema estaba en dejar no transparente el contenedor del SAY, es decir usar la clausula :

Code: Select all  Expand view

......

     oFld1:aDialogs[1]:lTransparent   := .F.

.....
 



y mantener en la la función del cambio de Color las siguientes comandos, motivo por el cual a Cristobal no le funcionada:

Code: Select all  Expand view

FUNCTION ChangeColor( oFld1  )
......
   oSay:Refresh()
   oSay:UpDate()
   oSay3:Refresh()
   oSay3:UpDate()  
   oFld1:Refresh()
   oFld1:UpDate()
   oFld1:SetOption( 2 )
   oWnd:UpDate()
   oFld1:SetOption( 1 )
 


Finalmente la imagen que pude obtener es la que necesitaba, es decir finalmente se puede cambiar el Fondo del SAY en TFolderEx

Image
subir fotos


Daniel, nuevamente muchas gracias por tu sugerencia

Un abrazo desde Chile

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Tue Nov 03, 2015 9:15 am
by Antonio Linares
Juraría que yo probé esa opción pero esta claro que no debí hacerlo bien

Me alegro de que esté solucionado! :-)

Re: Cambiar Color de Fondo de un SAY en un TFolderEx (RESUELTO)

PostPosted: Tue Nov 03, 2015 12:17 pm
by karinha
checo176 wrote:Daniel:

Gracias por tu sugerencia. Efectivamente el problema estaba en dejar no transparente el contenedor del SAY, es decir usar la clausula :

Code: Select all  Expand view

......

     oFld1:aDialogs[1]:lTransparent   := .F.

.....
 



y mantener en la la función del cambio de Color las siguientes comandos, motivo por el cual a Cristobal no le funcionada:

Code: Select all  Expand view

FUNCTION ChangeColor( oFld1  )
......
   oSay:Refresh()
   oSay:UpDate()
   oSay3:Refresh()
   oSay3:UpDate()  
   oFld1:Refresh()
   oFld1:UpDate()
   oFld1:SetOption( 2 )
   oWnd:UpDate()
   oFld1:SetOption( 1 )
 


Finalmente la imagen que pude obtener es la que necesitaba, es decir finalmente se puede cambiar el Fondo del SAY en TFolderEx

Image
subir fotos


Daniel, nuevamente muchas gracias por tu sugerencia

Un abrazo desde Chile


Gracias, funcionó perfecto. Saludos.

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Sun Apr 03, 2016 8:46 am
by gautxori
Buenos días.

Tema Color "deslavado" en la APP

Con el cambio de 16 Bits FW2.0D a 32 Bits FWH 16.03 he perdido el color en la APP, esto es general, en todos los Dialogos, Botones etc. he estado mirando si hay algún "parche" general para esto, o hay que cambiar la cosmética poco a poco ¿?.
A ver si puedo colocar una imagen antes y después

http://imageshack.com/a/img922/3190/Jx59MR.png

Muchas gracias

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Sun Apr 03, 2016 8:49 am
by Antonio Linares
Puedes modificar el color de todos los diálogos de esta forma: (una sola llamada para toda la aplicación)

SetDlgGradient( { { 1, RGB( 199, 216, 237 ), RGB( 237, 242, 248 ) } } )

puedes usar otros colores, cambiando los números de esos colores en RGB

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Sun Apr 03, 2016 8:55 am
by gautxori
Muchas gracias Antonio, lo probaré
Me estaba pegando con https://www.imageshack.us
a ver si lo consigo

Un saludo

Re: Cambiar Color de Fondo de un SAY en un TFolderEx

PostPosted: Sun Apr 03, 2016 9:05 am
by gautxori
También sucede que dos botones aparecen como "deshabilitados" , en la imagen aparecen con el testo Config y Copias
Son iguales a los otros
están definidos así
DEFINE DIALOG oDlgMenup OF oWnd RESOURCE "OpcionesG"
REDEFINE BTNBMP RESOURCE "3244" oBtn244 ID 244 OF oDlgMenup ACTION PrinterSetUp()
REDEFINE BTNBMP RESOURCE "3240" oBtn240 ID 240 OF oDlgMenup ACTION CopiaSeg()
...
...
...
REDEFINE BTNBMP RESOURCE "3241" oBtn241 ID 241 OF oDlgMenup ACTION Paramini (oWnd)
ACTIVATE DIALOG oDlgMenup NOWAIT;
Valid(If(lMenup,.T.,.F.))


Image