Cambiar Color de Fondo de un SAY en un TFolderEx

User avatar
checo176
Posts: 46
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

xHarbour 1.2.3 - FWH 13.08 - Advantage 10.1
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

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
User avatar
checo176
Posts: 46
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

xHarbour 1.2.3 - FWH 13.08 - Advantage 10.1
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
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: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
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

   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: 46
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

xHarbour 1.2.3 - FWH 13.08 - Advantage 10.1
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

   
   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: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

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

Post by cnavarro »

Daniel

Este es el ejemplo

Code: Select all


#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

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
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
checo176
Posts: 46
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

......

     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

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

xHarbour 1.2.3 - FWH 13.08 - Advantage 10.1
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
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: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

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

......

     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

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
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: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
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