Page 2 of 3
Re: Cambiar Color de Fondo de un SAY en un TFolderEx
Posted: 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:
subeTu 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
Posted: 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
Posted: 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
Posted: 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
Posted: 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
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
Posted: 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
Posted: Sun Nov 01, 2015 12:22 pm
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.
....
Re: Cambiar Color de Fondo de un SAY en un TFolderEx
Posted: Sun Nov 01, 2015 2:09 pm
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
Re: Cambiar Color de Fondo de un SAY en un TFolderEx (RESUELTO)
Posted: 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 :
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
subir fotosDaniel, nuevamente muchas gracias por tu sugerencia
Un abrazo desde Chile
Re: Cambiar Color de Fondo de un SAY en un TFolderEx
Posted: 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)
Posted: 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 :
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
subir fotosDaniel, 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
Posted: 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.pngMuchas gracias
Re: Cambiar Color de Fondo de un SAY en un TFolderEx
Posted: 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
Posted: Sun Apr 03, 2016 8:55 am
by gautxori
Muchas gracias Antonio, lo probaré
Me estaba pegando con
https://www.imageshack.usa ver si lo consigo
Un saludo
Re: Cambiar Color de Fondo de un SAY en un TFolderEx
Posted: 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.))