Page 1 of 1

Como cambiarel fondo del titulo (TITLE) en un DIALOG,

Posted: Fri Jan 23, 2026 5:39 pm
by Willi Quintana

hOLA aMIGOS.
Como puedo cambiar el fondo del titulo (TITLE) en un DIALOG, asi como el FONT y COLOR y que afecto a los controles contenidos en el DIALOG
Gracias

Image


Re: Como cambiarel fondo del titulo (TITLE) en un DIALOG,

Posted: Fri Jan 23, 2026 8:11 pm
by carlos vargas

Eso es parte del sistema Windows, no es posible desde nuestras app. Cuando seleccionas un tema de Windows este aplica todas estas características.
Lo que hacen algunos es emular está barra, con un say, botones para emular el comportamiento de la barra.


Re: Como cambiarel fondo del titulo (TITLE) en un DIALOG,

Posted: Sat Jan 24, 2026 2:41 pm
by karinha

Code: Select all | Expand

// C:\FWH\SAMPLES\WILLI2.PRG

#Include "FiveWin.ch"

STATIC oDlg

FUNCTION Main()

   LOCAL cTitle, oSay, cPrompt, oSay2, cPrompt2, oBrush, oFont

   cTitle   := "WILLI INICIANDO TITLE DIALOG-FONT WINDOWS ORIGINAL"
   cPrompt  := "¿Puedo cambiar el título del diálogo en tiempo real?"
   cPrompt2 := "Puedo Cambiar la fuente y el Color?                 "

   DEFINE BRUSH oBrush GRADIENT { { 0.4, nRGB( 75, 144, 223 ), nRGB( 41, 85, 145 ) },;
                                  { 0.6, nRGB( 24,  61, 118 ), nRGB( 50, 95, 158 ) } }

   DEFINE FONT oFont  NAME "Ms Sans Serif"  SIZE 00, -14 BOLD

   DEFINE DIALOG oDlg FROM 6, 6 TO 20, 70 TITLE cTitle BRUSH oBrush TRANSPARENT FONT oFont

   oDlg:lhelpIcon := .F.

   @ 1.5, 02 SAY oSay PROMPT cPrompt OF oDlg SIZE 200, 15 COLOR CLR_BLACK   ;
      TRANSPARENT ADJUST FONT oFont

   @ 3.7, 02 SAY oSay2 PROMPT cPrompt2 OF oDlg SIZE 200, 15 COLOR CLR_BLACK ;
      TRANSPARENT ADJUST Font oFont

   @ 2, 2 BUTTON "&Title" OF oDlg ACTION ( CAMBIA_TITLE( oDlg, oSay, oSay2 ) )

   @ 4, 2 BUTTON "&Salir" OF oDlg ACTION( oDlg:End() ) CANCEL

   ACTIVATE DIALOG oDlg CENTERED

   oBrush:End()
   oFont:End()

RETURN NIL

FUNCTION CAMBIA_TITLE( oDlg, oSay, oSay2 )

   LOCAL cTxtNew, cTxtNoP

   cTxtNew := "Sí, puedo cambiarlo, porque soy súper FWH. TITLE                "
   cTxtNoP  := "No puedo cambiar la fuente ni el color porque es la de Windows."

   oDlg:SETTEXT( "WILLI CAMBIANDO TITLE DIALOG-COLOR WINDOWS ORIGINAL" )
   oDlg:Refresh()

   oSay:VARPUT( cTxtNew )
   oSay:Refresh()

   oSay2:VARPUT( cTxtNoP )
   oSay2:Refresh()

RETURN NIL

// FIN / END - [email protected]

Regards, saludos.