tipo tamaño de letra y color de dialog definidpor el usuario

tipo tamaño de letra y color de dialog definidpor el usuario

Postby JoseAlvarez » Sun Feb 05, 2017 1: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.
User avatar
JoseAlvarez
 
Posts: 797
Joined: Sun Nov 09, 2014 5:01 pm

Re: tipo tamaño de letra y color de dialog definidpor el usuario

Postby cnavarro » 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
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: tipo tamaño de letra y color de dialog definidpor el usuario

Postby karinha » Tue Feb 07, 2017 1:29 pm

Las colores del dialog(boton: Cores), puede ser asi?

Image

Saludos.
Last edited by karinha on Thu Feb 09, 2017 3:21 pm, edited 2 times in total.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: tipo tamaño de letra y color de dialog definidpor el usuario

Postby karinha » Tue Feb 07, 2017 1:30 pm

Direct link:

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

saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: tipo tamaño de letra y color de dialog definidpor el usuario

Postby JoseAlvarez » Wed Feb 08, 2017 7: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.
User avatar
JoseAlvarez
 
Posts: 797
Joined: Sun Nov 09, 2014 5:01 pm

Re: tipo tamaño de letra y color de dialog definidpor el usuario

Postby karinha » Thu Feb 09, 2017 11:59 am

Haga asi:

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

Code: Select all  Expand view  RUN

   // 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 Santos-kapiabafwh@gmail.com"   +;
                   + CRLF                                    +               ;
                   "
Meu Site:..... = "+"Visite: www.fivewin.com.br"         +;
                   + CRLF+CRLF                                              +;
                   "
Autor......... = "+"JoÆo Santos-kapiabafwh@gmail.com"

      FWRITE( NOME_ARQ, NREGISTRO )
      FCLOSE( NOME_ARQ )

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

   ENDIF


Code: Select all  Expand view  RUN

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 - ednaldorolim@uol.com.br - My Friend"
            SET SECTION "THANKS" ENTRY "Autor..." ;
                OF oIni TO "JoÆo Santos   - kapiabafwh@gmail.com "
            SET SECTION "THANKS" ENTRY "Meu Site:....." ;
                OF oIni TO "Visite: www.fivewin.com.br"

        ENDINI

    ENDIF

RETURN NIL
 
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: tipo tamaño de letra y color de dialog definidpor el usuario

Postby karinha » Thu Feb 09, 2017 12:00 pm

En el dialog, haga asi:

Code: Select all  Expand view  RUN

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: Select all  Expand view  RUN

//---------------------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
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: tipo tamaño de letra y color de dialog definidpor el usuario

Postby JoseAlvarez » 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.
User avatar
JoseAlvarez
 
Posts: 797
Joined: Sun Nov 09, 2014 5:01 pm


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 64 guests