FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Modificar y guardar las propiedades Font
Hola amigos:
Los molesto por lo siguiente: En mi formulario estoy utilizando un componente TFontDialog, con el cual permito que el operador modifique las propiedades de algunos componente, Ej. Edit1 Bien: el caso es que mediante la instrucción Edit1.Font:=FontDialog1.Font; El tema estaría resuelto, pero necesito guardar las propiedes. Se me ocurrió hacer una pequeña tabla con los datos Size, color, Name, etc. Pero no sé como leer los estilos fsBold, fsItalic, fsUnderline. Probé con Edit1.Font.Style.fsItalic, pero esto me da un error. Entonces tengo 2 preguntas 1- Cómo leo los estilos?. 2- Saben de alguna forma en que pueda guardar directamente Edit1.Font sin tener que colocar un campo para cada propiedad del font? Desde ya muchas gracias por su tiempo. |
#2
|
||||
|
||||
Algo ya está resuelto
Ya estoy un poco más encaminado
Por ejemplo para asignarle la propiedad Negrita al texto hago: Edit1.Font.Style := Edit1.Font.Style+[fsBold] Para sacarla hago: Edit1.Font.Style := Edit1.Font.Style-[fsBold] Para preguntar por un estilo hago If Edit1.Font.Style=[fsBold] Then ... El problema es que si el estilo tiene asignado más de una propiedad Ej: (FsBold + FsItalic) la pregunta anterior da como resultado falso, entonces tengo que preguntar: If Edit1.font.Style=[fsBold] Then ... If Edit1.font.Style=[ FsBold, fsItalic ] Then ... y todas las combinaciones. Puedo hacerlo, no son muchas, pero es muy desprolijo. pregunta: ¿como puedo preguntar? Si [FsBold] está incluido en la lista de Edit1.Font.Style Entonces... Se entiende?. Gracias. |
#3
|
|||
|
|||
Cita:
Código:
if fsBold in Edit1.Font.Style then Código:
if [fsBold, fsItalic] <= Edit1.Font.Style then Código:
if [fsItalic, fsUnderline]*Edit1.Font.Style = [] then Por otra parte fíjate que puedes guardar y recuperar una propiedad como ésta en una variable de tipo Byte: Código:
ByteStyle := Byte(Edit1.Font.Style); Edit1.Font.Style := TFontStyles(ByteStyle); Última edición por keyboy fecha: 07-10-2004 a las 20:55:08. |
#4
|
||||
|
||||
Prueba Esto
Hola
Cita:
Luego solo te falta guardar en un campo de tu tabla y restablecerlo cuando gustes Espero te sirva Un saludo
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
#5
|
||||
|
||||
Muchisimas gracias.
|
#6
|
|||
|
|||
Cita:
Una variable de tipo TFont (o de cualquier tipo que sea una clase) no es más que un puntero, de manera que FontToInteger sólo devuelve la dirección en memoria del objeto FFont, que es un valor efímero que pierde sentido en cuanto el objeto se destruye o termina la aplicación. Bye |
#7
|
||||
|
||||
Disculpas
Ofresco mis más sinceras disculpas por la respuesta anterior, me dejé engañar por algunas pruebas que hice y no profundicé lo suficiente en el tema.
De todos modos puedes construirte un record y guardar en el las características de tu Fuente, luego construir un cadena combencional con estas características y guardarla en la BD, a continuación te doy algunas ideas.
Bueno espero que ahora si te ayude este código. Un saludo
__________________
Lo importante no es llegar primero, sino saber llegar. Para que puedas llegar mejor lee la Guia de Estilo |
#8
|
|||
|
|||
|
|
|