Page 1 of 1

Cambiar color de fondo "dialog" de un resource

Posted: Sun Jun 09, 2013 7:36 pm
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:

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

Posted: Mon Jun 10, 2013 1:01 pm
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

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

Posted: Tue Jun 11, 2013 3:34 am
by josferdi
Gracias!