Cambiar Color de Fondo de un SAY en un TFolderEx

User avatar
checo176
Posts: 83
Joined: Wed Apr 20, 2011 3:08 pm

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

Post 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
Sergio Vacarezza S.
Programador Freelance
sergio@vacarezza.cl
Santiago, Chile

Harbour 3.2.0dev (r2006301601) - FWH 22.03 - MariaDB - FivEdit
User avatar
karinha
Posts: 7910
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

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

Post by karinha »

Comprendo. Ahora, és con el maestro Antonio. Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
checo176
Posts: 83
Joined: Wed Apr 20, 2011 3:08 pm

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

Post 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
Sergio Vacarezza S.
Programador Freelance
sergio@vacarezza.cl
Santiago, Chile

Harbour 3.2.0dev (r2006301601) - FWH 22.03 - MariaDB - FivEdit
User avatar
Antonio Linares
Site Admin
Posts: 42395
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 10 times
Been thanked: 41 times
Contact:

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

Post 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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 42395
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 10 times
Been thanked: 41 times
Contact:

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

Post 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

  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    
 
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
checo176
Posts: 83
Joined: Wed Apr 20, 2011 3:08 pm

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

Post by checo176 »

Maestro Antonio:

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

Un abrazo y buenas noches
Sergio Vacarezza S.
Programador Freelance
sergio@vacarezza.cl
Santiago, Chile

Harbour 3.2.0dev (r2006301601) - FWH 22.03 - MariaDB - FivEdit
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

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

Post by Daniel Garcia-Gil »

Saludos


trata de no hacer transparente el dialogo contenedor

Code: Select all | Expand

 
   REDEFINE FOLDEREX oFld1 ID 110 OF oDlg;
        PROMPT "&Clipper", "&Windows" DIALOGS "Sub1", "Sub2"
   
    oFld1:aDialogs[1]:lTransparent := .F.
   
....
 
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
User avatar
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

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

Post by cnavarro »

Daniel

Este es el ejemplo

Code: Select all | Expand



#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


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
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
checo176
Posts: 83
Joined: Wed Apr 20, 2011 3:08 pm

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

Post 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


......

     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


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
Sergio Vacarezza S.
Programador Freelance
sergio@vacarezza.cl
Santiago, Chile

Harbour 3.2.0dev (r2006301601) - FWH 22.03 - MariaDB - FivEdit
User avatar
Antonio Linares
Site Admin
Posts: 42395
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 10 times
Been thanked: 41 times
Contact:

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

Post 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! :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
karinha
Posts: 7910
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

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

Post 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


......

     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


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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
gautxori
Posts: 69
Joined: Thu Feb 25, 2010 12:44 pm
Location: Plentzia (Bizkaia)

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

Post 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
Last edited by gautxori on Sun Apr 03, 2016 9:01 am, edited 1 time in total.
Un saludo
___________________________________________________
La mente es como un paracaídas, solo funciona si se abre
Harbour 3.2.0dev (r1601050904) , Fivewin 16.04
User avatar
Antonio Linares
Site Admin
Posts: 42395
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 10 times
Been thanked: 41 times
Contact:

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

Post 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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
gautxori
Posts: 69
Joined: Thu Feb 25, 2010 12:44 pm
Location: Plentzia (Bizkaia)

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

Post by gautxori »

Muchas gracias Antonio, lo probaré
Me estaba pegando con https://www.imageshack.us
a ver si lo consigo

Un saludo
Un saludo
___________________________________________________
La mente es como un paracaídas, solo funciona si se abre
Harbour 3.2.0dev (r1601050904) , Fivewin 16.04
User avatar
gautxori
Posts: 69
Joined: Thu Feb 25, 2010 12:44 pm
Location: Plentzia (Bizkaia)

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

Post 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
Un saludo
___________________________________________________
La mente es como un paracaídas, solo funciona si se abre
Harbour 3.2.0dev (r1601050904) , Fivewin 16.04
Post Reply