FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour tipo tamaƱo de letra y color de dialog definidpor el usuario
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
tipo tamaƱo de letra y color de dialog definidpor el usuario
Posted: Sun Feb 05, 2017 01:24 PM

Saludos a todos amigos foristas.

Un cliente me esta pidiendo la posibilidad de poder cambiar el tipo de fuente y su tamaƱo asi como el color de fondo en los dialogos a su gusto desde una opcion de configuracion dentro del mismo software que estamos negociando su desarrollo. Se que dentro del .rc puedo hacerlo, pero la cuestion es que el cliente quiere que dentro del menu pueda hacerlo el cuando quiera y las veces que quiera. Otra cosa importante es que el tamaƱo de los dialogos no debe verse afectado.

Alguna idea de por donde comenzar?

Gracias de antemano por la ayuda-

Un abrazo a todos.

"Los errores en programación, siempre estÔn entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: tipo tamaƱo de letra y color de dialog definidpor el usuario
Posted: Sun Feb 05, 2017 10:35 PM
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no estĆ” en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: tipo tamaƱo de letra y color de dialog definidpor el usuario
Posted: Tue Feb 07, 2017 01:29 PM
Las colores del dialog(boton: Cores), puede ser asi?



Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: tipo tamaƱo de letra y color de dialog definidpor el usuario
Posted: Tue Feb 07, 2017 01:30 PM
Direct link:

http://i.imgur.com/fnG7AFX.png

saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: tipo tamaƱo de letra y color de dialog definidpor el usuario
Posted: Wed Feb 08, 2017 07:08 PM
Hola !
Gracias cNavarro. Estoy siguien el hilo que me diste y hay bastante de donde sacar. MuchisĆ­mas Gracias!

Karinha, gracias por atender mi solicitud. Esa imagen que muestras es justo lo que me gustaria hacer. que el usuario pueda seleccionar sus colores asi.

lo mismo me piden con los tipos de letra.

AgradecerĆ­a cualquier idea de tu parte.

Mil Gracias a ambos por su atención. :-)
"Los errores en programación, siempre estÔn entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: tipo tamaƱo de letra y color de dialog definidpor el usuario
Posted: Thu Feb 09, 2017 11:59 AM
Haga asi:

En el MENU PRINCIPAL inicie el archivo: FUNDO.INI cambie para FONDO.INI.

Code (fw): Select all Collapse
   // cPathPleno := CURDRIVE() + ":\" + GETCURDIR()
   cPathPleno := "\" + GETCURDIR()

   // Para Carregar a Ultima Tela Salva no Arquivo .INI chamar FundoWnd()
   IF FILE( "FUNDO.INI" )
      FUNDOWND() // llama el fondo.
   ELSE  // crea FUNDO.INI o FONDO.INI
      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                                                   +;
                   "ProprietĀ rio.. = "+"JoƆo <!-- e --><a href="mailto:Santos-kapiabafwh@gmail.com">Santos-kapiabafwh@gmail.com</a><!-- e -->"   +;
                   + CRLF                                    +               ;
                   "Meu Site:..... = "+"Visite: www.fivewin.com.br"         +;
                   + CRLF+CRLF                                              +;
                   "Autor......... = "+"JoƆo <!-- e --><a href="mailto:Santos-kapiabafwh@gmail.com">Santos-kapiabafwh@gmail.com</a><!-- e -->"

      FWRITE( NOME_ARQ, NREGISTRO )
      FCLOSE( NOME_ARQ )

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

   ENDIF


Code (fw): Select all Collapse
Function FundoWnd( nOption, oWin, cWStyle, nWCor )

    LOCAL oIni, oBrush, oBmp
    LOCAL nTipo, cStyle, nCor, cFile, cLogo, nRow, nCol, lSelect
    LOCAL cDiretor := GetPvProfString( "Settings", "SaveDir", FilePath(), ".\FUNDO.INI" )
    LOCAL cMascara := "*.BMP"

    DEFAULT nOption := 0, oWin := oWnd:oWndClient

    IF nOption < 0 .AND. nOption > 4
        RETURN NIL
    ENDIF

    //-> Carrega
    INI oIni FILE ".\Fundo.ini"
        GET nTipo    SECTION "MAIN" ENTRY "Tipo"  OF oIni DEFAULT 1
        GET cStyle   SECTION "MAIN" ENTRY "Style" OF oIni DEFAULT "Bricks"
        GET nCor     SECTION "MAIN" ENTRY "Cor"   OF oIni DEFAULT  nRGB(   0,   0, 255 )
        GET cFile    SECTION "MAIN" ENTRY "File"  OF oIni DEFAULT ".\Fundo.bmp"

        GET cLogo    SECTION "LOGO" ENTRY "File"  OF oIni DEFAULT ".\Logo.bmp"
        GET nRow     SECTION "LOGO" ENTRY "Row"   OF oIni DEFAULT 10
        GET nCol     SECTION "LOGO" ENTRY "Col"   OF oIni DEFAULT 10
    ENDINI

    IF nOption == 0
        lSelect := .F.

     ELSEIF nOption == 1
        nTipo   := 1
        lSelect := .T.

     ELSEIF nOption == 2
        cStyle  := cWStyle
        nTipo   := 2
        lSelect := .F.

     ELSEIF nOption == 3
        nCor    := nWCor
        nTipo   := 3
        lSelect := .F.

     ELSEIF nOption == 4
        nTipo   := 3
        lSelect := .T.

    ENDIF

    //---- Cria o Brush
    //
    IF nTipo == 1

        IF lSelect
            // Modelo Antigo - Deu Uns Pauzinhos... troquei e funcionou.
            // cFile := cGetFile( "*.BMP", "Selecione o Arquivo Bitmap (.BMP)" )
            //-> Assim Pega do Diret¢rio Corrente em C:\...
            //cFile :=  cGetFile( cMascara, "Selecione o Arquivo Bitmap (.BMP)", 1, cDiretor, .T. )
            //-> Assim Pega em Rede -> Para Todas as MĀ quinas.
            cFile := SubStr( cGetFile( "*.BMP", "Selecione o Arquivo Bitmap (.BMP)" ), 3 )
        ENDIF

        IF Empty( cFile )
           Return Nil
        ENDIF

        DEFINE BRUSH oBrush FILE cFile
        SET BRUSH OF oWin TO oBrush
 
     ELSEIF nTipo == 2

        DEFINE BRUSH oBrush STYLE ( cStyle )

     ELSEIF nTipo == 3

        IF lSelect
            nCor := ChooseColor()
        ENDIF

        DEFINE BRUSH oBrush COLOR nCor

    ENDIF

    //---- Estabelece o Brush da Janela
    //
    IF nTipo != 1

        SET BRUSH OF oWin TO oBrush

    ENDIF

    IF nOption != 0

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

            SET SECTION "MAIN" ENTRY "Tipo"  OF oIni TO nTipo
            SET SECTION "MAIN" ENTRY "Style" OF oIni TO cStyle
            SET SECTION "MAIN" ENTRY "Cor"   OF oIni TO nCor
            SET SECTION "MAIN" ENTRY "File"  OF oIni TO cFile

            SET SECTION "LOGO" ENTRY "File"  OF oIni TO cLogo
            SET SECTION "LOGO" ENTRY "Row"   OF oIni TO nRow
            SET SECTION "LOGO" ENTRY "Col"   OF oIni TO nCol

            SET SECTION "THANKS" ENTRY "Special Thanks" ;
                OF oIni TO "Ednaldo Rolim - <!-- e --><a href="mailto:ednaldorolim@uol.com.br">ednaldorolim@uol.com.br</a><!-- e --> - My Friend"
            SET SECTION "THANKS" ENTRY "Autor..." ;
                OF oIni TO "JoƆo Santos   - <!-- e --><a href="mailto:kapiabafwh@gmail.com">kapiabafwh@gmail.com</a><!-- e --> "
            SET SECTION "THANKS" ENTRY "Meu Site:....." ;
                OF oIni TO "Visite: <!-- w --><a class="postlink" href="http://www.fivewin.com.br">www.fivewin.com.br</a><!-- w -->"

        ENDINI

    ENDIF

RETURN NIL
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: tipo tamaƱo de letra y color de dialog definidpor el usuario
Posted: Thu Feb 09, 2017 12:00 PM
En el dialog, haga asi:

Code (fw): Select all Collapse
FUNCTION AGENDTEL( DeOndeVem )

   FIELD AGE_CODIGO    // Se usa si aqui se forman los indices

   LOCAL nCor, oIni, oBrush

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

   DEFINE BRUSH  oBrush COLOR VAL(nCor)  // Colores de dialog aqui.
   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 ICON  oIco


   // cambiar el color en tiempo real.
   REDEFINE BUTTON oBtns[13] ID 13000 OF oDlg ;
            ACTION ( SET_COLOR( oDlg ) )

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

   ACTIVATE DIALOG oDlg CENTERED


Code (fw): Select all Collapse
//---------------------TROCA A COR EM TEMPO 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 - Phone: +55(11)95150-7341
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: tipo tamaƱo de letra y color de dialog definidpor el usuario
Posted: Fri Feb 10, 2017 12:48 AM

solucionado lo del color. Gracias nuevamente cNavarro y Joao.

"Los errores en programación, siempre estÔn entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.

Continue the discussion