Cambiar color de fondo "dialog" de un resource

Post Reply
josferdi
Posts: 10
Joined: Sun Jul 17, 2011 8:08 pm
Location: Costa Rica
Contact:

Cambiar color de fondo "dialog" de un resource

Post by josferdi »

Hola amigos programadores, les agradeceria si alguien me puede indicar como se puede cambiar el color de fondo de un dialog que se encuentra dentro de mi archivo de recursos. " miRecurso.res ". ah.. y muy importante como puedo colocar una imagen para que vean en algun caso un ejemplo de lo que quiero consultar mediante la ilustración. :mrgreen:
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cambiar color de fondo "dialog" de un resource

Post by karinha »

Hola, primero, debes crear un archivo .INI para guardar el color.

Code: Select all

   cPathPleno := "\" + GETCURDIR()

   IF FILE( "FUNDO.INI" )
      FUNDOWND() // Chamada ao fundo de tela Escolhida Pelo Usu rio. Muito Bom.
   ELSE
      NOME_ARQ := FCREATE("FUNDO.INI")

      NREGISTRO := "[MAIN]"                                                  ;
                   + CRLF                                    +               ;
                   "Tipo=1"                                  +               ;
                   + CRLF                                    +               ;
                   "Style=BRICKS"                            +               ;
                   + CRLF                                    +               ;
                   "Cor=14286847"                            +               ;
                   + CRLF                                    +               ;
                   "File="+ALLTRIM(cPathPleno)+"\ARANHA.BMP" +               ;
                   + CRLF+CRLF                               +               ;
                   "[LOGO]"                                  +               ;
                   + CRLF                                    +               ;
                   "File=.\Logo.bmp"                         +               ;
                   + CRLF                                    +               ;
                   "Row=10"                                  +               ;
                   + CRLF                                    +               ;
                   "Col=10"                                  +               ;
                   + CRLF+CRLF                               +               ;
                   "[THANKS]"                                +               ;
                   + CRLF                                    +               ;
                   "Special Thanks = "+"Ednaldo Alves Rolim"                +;
                   + CRLF                                                   +;
                   "Proprietario.. = "+"Joao Santos-kmt_karinha@pop.com.br" +;
                   + CRLF                                    +               ;
                   "Meu Site:..... = "+"Visite: www.pleno.com.br"           +;
                   + CRLF+CRLF                                              +;
                   "Autor......... = "+"Joao Santos-kmt_karinha@pop.com.br"

      FWRITE( NOME_ARQ, NREGISTRO )
      FCLOSE( NOME_ARQ )

      FUNDOWND() // Chamada ao fundo de tela Escolhida Pelo Usu rio. Muito Bom.

   ENDIF

//

//En la FUNCTION que quieres cambiar el color, haces asi:
FUNCTIO SUFUNCTION...


   //-> Pega a Cor no .INI
   INI oIni FILE ".\Fundo.ini"
      GET nCor SECTION "MAIN" ENTRY "Cor" OF oIni DEFAULT nCor
   ENDINI

   DEFINE BRUSH oBrush COLOR VAL(nCor)

   DEFINE CURSOR oCurDedo RESOURCE "Dedo"

   DEFINE ICON oIco NAME "ICONE04"

   DEFINE FONT oFnt   NAME "Ms Sans Serif" SIZE 0, -14 BOLD //UnderLine
   DEFINE FONT oFont  NAME "Ms Sans Serif" SIZE 0, -12 BOLD //UnderLine
 
   DEFINE DIALOG oDlg RESOURCE "DLG_AGENDA_TELEFONICA"                 ;
          TITLE cTitleDial + " :: Hoje: " + DTOC( Date() )             ;
          BRUSH oBrush TRANSPARENT


   // Crea un Button para que el usuario pueda cambiar el color asi
   REDEFINE BUTTON oBtns[13] ID 13000 OF oDlg ;
            ACTION ( SET_COLOR( oDlg ) )

   oBtns[13]:cToolTip := OemToAnsi( "Trocar a Cor da Tela Alt+R " )

   ACTIVATE DIA..

RETURN NIL

//---------------------TROCA/CAMBIA LA COLOR EN TREMPO REAL-----------------

FUNCTION SET_COLOR( oDlg )

   LOCAL oIni, oBrush, oBmp
   LOCAL nTipo, cStyle, nCor := 0, cFile, cLogo, nRow, nCol, lSelect



   oDlg:SetColor( oDlg:nClrText, nCor := ChooseColor( oDlg:nClrPane ) )

   // Grava no Arquivo INI as Modifica‡äes
   INI oIni FILE ".\Fundo.ini"

       SET SECTION "MAIN" ENTRY "Cor"   OF oIni TO nCor

   ENDINI

   oDlg:Refresh()
   oDlg:SetFocus()

RETURN NIL
Saludos
João Santos - São Paulo - Brasil
josferdi
Posts: 10
Joined: Sun Jul 17, 2011 8:08 pm
Location: Costa Rica
Contact:

Re: Cambiar color de fondo "dialog" de un resource

Post by josferdi »

Gracias!
Post Reply