Decidir si Font es Bold o no

Decidir si Font es Bold o no

Postby FranciscoA » Thu Dec 01, 2016 3:22 am

Amigos, saludos.
Hay alguna manera para decidir si queremos BOLD o no, desde una variable, sin hacer lo siguiente?

Code: Select all  Expand view  RUN
if lNegrilla
    DEFINE FONT oFont  NAME "Arial" SIZE nWdFont, nHtFont BOLD OF oPrn
 else
    DEFINE FONT oFont  NAME "Arial" SIZE nWdFont, nHtFont OF oPrn
 endif


Otra:
La function Lower(cCad) no convierte la "Ñ" a "ñ". Alguna manera de solucionarlo?

Gracios
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Decidir si Font es Bold o no

Postby Carles » Thu Dec 01, 2016 6:43 am

Francisco,

FranciscoA wrote:
Code: Select all  Expand view  RUN
if lNegrilla
    DEFINE FONT oFont  NAME "Arial" SIZE nWdFont, nHtFont BOLD OF oPrn
 else
    DEFINE FONT oFont  NAME "Arial" SIZE nWdFont, nHtFont OF oPrn
 endif



Usa directament la clase para declarar el objeto, pasando la variable lNegrilla
Salutacions, saludos, regards

"...programar es fácil, hacer programas es difícil..."

UT Page -> https://carles9000.github.io/
Forum UT -> https://discord.gg/bq8a9yGMWh
Skype -> https://join.skype.com/cnzQg3Kr1dnk
User avatar
Carles
 
Posts: 1143
Joined: Fri Feb 10, 2006 2:34 pm
Location: Barcelona

Re: Decidir si Font es Bold o no

Postby cnavarro » Thu Dec 01, 2016 8:55 am

FranciscoA wrote:Amigos, saludos.
Hay alguna manera para decidir si queremos BOLD o no, desde una variable, sin hacer lo siguiente?

Code: Select all  Expand view  RUN
if lNegrilla
    DEFINE FONT oFont  NAME "Arial" SIZE nWdFont, nHtFont BOLD OF oPrn
 else
    DEFINE FONT oFont  NAME "Arial" SIZE nWdFont, nHtFont OF oPrn
 endif


Otra:
La function Lower(cCad) no convierte la "Ñ" a "ñ". Alguna manera de solucionarlo?

Gracios


Puedes intentarlo asi

    DEFINE FONT oFont  NAME "Arial" SIZE nWdFont, nHtFont OF oPrn
oFont:lBold := lNegrilla
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: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Decidir si Font es Bold o no

Postby hmpaquito » Thu Dec 01, 2016 11:16 am

Francisco,

A ese tema le dediqué exclusivamente un post:

Y ya metidos en harina de comandos mal diseñados
Supongamos:

ACTIVATE WINDOW CENTER MAXIMIZED

¿ Qué pasa si la ventana será centrada a veces si o a veces no ? ¿ O maximizada si o maximizada no ?

Con lo facil que habria sido poner:

ACTIVATE WINDOW ;
CENTER lConCenter ;
MAXIMIZED lConMaximized



viewtopic.php?f=6&t=30055#p171359

Saludos
hmpaquito
 
Posts: 1482
Joined: Thu Oct 30, 2008 2:37 pm

Re: Decidir si Font es Bold o no

Postby FranciscoA » Thu Dec 01, 2016 3:22 pm

Carles, Cristóbal, hmpaquito. Gracias por responder.

Carles:
Voy a intentar como dices.

Cristóbal:
No me funcionó, siempre pone la letra estándard.
Code: Select all  Expand view  RUN
lNegrilla := .t.
    DEFINE FONT oFont  NAME "Arial" SIZE nWdFont, nHtFont OF oPrn
   oFont:lBold := lNegrilla


hmpaquito:
Gracias por tu información.

Alguna otra sugerencia?

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Decidir si Font es Bold o no (SOLUCIONADO)

Postby FranciscoA » Thu Dec 01, 2016 5:30 pm

Gracias a todos.
Funcionó de la manera sugerida por Carles:

Code: Select all  Expand view  RUN
nWdFont:= 0
nHtFont:= -10

 oFont := TFont():New( "Arial", nWdFont, ( oPrn:nLogPixelY() / 72 ) * nHtFont, .f., lNegrilla )
 

Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Decidir si Font es Bold o no

Postby cnavarro » Thu Dec 01, 2016 5:44 pm

Si, evidente, de la forma que yo he puesto no puede funcionar
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: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Decidir si Font es Bold o no

Postby FranciscoA » Fri Dec 02, 2016 2:55 am

Cristóbal.
Al estudiar un poco la clase, me doy cuenta que existe la Data que mencionas. Lo que me extraña es que por qué no funciona.
De la misma classe fué que tomé oPrn:nLogPixelY() / 72 , ya que sin esto las letras aparecían extremadamente diminutas.

Muchas gracias por tu interés y tiempo.

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Decidir si Font es Bold o no

Postby cnavarro » Fri Dec 02, 2016 9:19 am

El tema es que una vez creada no puede ser modificada.
Pero, también, para tu información, siempre puedes, a partir de un font definido crear otro con alguna modificación sobre ella ( CreateFontIndirect ), lo mismo ocurre con otros recursos como los brush ( CreateBrushIndirect )
Para ello, puedes utilizar la function

hNewFont := CREATEFONTAS( oFont:hFont, oFont:lbold, oFont:lUnder, oFont:lItalic, oFont:nHeight )

//y, en tu caso, sería, por ejemplo ( para cambiar de bold o no bold y viceversa )

hNewFont := CREATEFONTAS( oFont:hFont, !oFont:lbold, oFont:lUnder, oFont:lItalic, oFont:nHeight )


que fácilmente podrías modificar para crear otra con las mismas características que la actual pero con otro cFaceName, añadiendo un parámetro más

Otra posibilidad, es hacer después ( que no he probado ), para intentar seguir usando el mismo oFont
oFont:hFont := hNewFont


Y, seguramente te obligue también, en cualquier caso a hacer al final de su uso
DeleteObject( hNewFont )
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: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Decidir si Font es Bold o no

Postby FranciscoA » Fri Dec 02, 2016 11:48 pm

Cristóbal,
Gracias por la información. La tendré en cuenta.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 21 guests