Sección de tutoriales y manuales vb
En esta página se describe el uso básico del cuadro de diálogo de windows que permite seleccionar fuentes
Contenido :
Para poder utilizar dicho cuadro de diálogo, hay que incluir al proyecto el control ocx Microsoft Common Dialog Controls. desde el menú Proyecto en la opción componentes.
Nota: en este enlace podés ver el uso de los demás cuadros de diálogo Controles Visual basic
La Ventana para agregar el control

El método ShowFont es el que llama y permite visualizar el cuadro de diálogo.

Si por ejemplo al presionar un Commandbutton ejecutamos el método ShowFont:
Private Sub Command1_Click()
CommonDialog1.ShowFont
End Sub
Saldrá el siguiente mensaje de error:

Para solucionar esto y poder desplegar el CommonDialog, hay que establecer en la propiedad Flags algunos de los valores de constantes que determinan que fuentes mostrar y que tipo: fuentes de pantalla, fuentes impresora, ambas, fuentes TrueType etc..
La lista de constantes para poder especificar en la propiedad Flags, como también ver su descripción, las podés acceder desde el examinador de objetos de visual basic, en el apartado Clases > FontsConstants.

Lo siguiente, al llamar al cuadro de diálogo, visualiza las fuentes tanto de pantalla como las de impresión que estén disponibles, mediante la constante cdlCFBoth para la propiedad Flags
Private Sub Command1_Click() 'El cuadro de diálogo muestra las fuentes _ de pantalla e impresora disponibles. CommonDialog1.Flags = cdlCFBoth 'Abre CommonDialog1.ShowFont End Sub
Para listar solo las de pantalla usar el valor cdlCFScreenFonts. Para que
el cuadro de diálogo sólo muestre las fuentes compatibles
con la impresora, usar el valor cdlCFPrinterFonts.
Como se ve en la imagen anterior , el cuadro de diálogo no presenta las opciones para Efectos de fuente, establecer el color, vista previa e información de las mismas, tachado y subrayado
Para poder habilitar esta opción hay que usar la constante cdlCFEffects. Al especificar en la propiedad Flags dicho valor, el mismo se desplegará de la siguiente forma:

Colocar un CommonDialog y un CommndButton
Private Sub Command1_Click() 'El cuadro de diálogo muestra las fuentes _ de pantalla e impresora disponibles y con la opción _ de tachado, subrayado y efectos de color. CommonDialog1.Flags = cdlCFBoth Or cdlCFEffects 'Abre CommonDialog1.ShowFont End Sub
Este otro ejemplo , al presionar un control CommandButton, despliega el cuadro de diálogo para seleccionar una fuente y el estilo ( negrita, el tamaño etc... )
Luego recorre en un bucle For-Each todos los controles del formulario, estableciendo las propiedades de la fuente que se seleccionó , a los controles Label que haya en el Formulario
Colocar un control CommonDialog, un Command1 para abrirlo, y varios controles de cualquier tipo, y también por supuesto algunos controles Label
Private Sub Command1_Click() Dim El_Control As Control CommonDialog1.CancelError = True CommonDialog1.Flags = cdlCFScreenFonts Or cdlCFEffects On Error Resume Next 'Abre el diálogo CommonDialog1.ShowFont If Err.Number = 0 Then For Each El_Control In Me.Controls If TypeOf El_Control Is Label Then ' Asigna al control Label las propiedades de fuente _ seleccionadas en el cuadro de diálogo 'Nombre El_Control.FontName = CommonDialog1.FontName 'Negrita El_Control.FontBold = CommonDialog1.FontBold 'Tamaño El_Control.FontSize = CommonDialog1.FontSize ' estilo Tachado El_Control.FontStrikethru = CommonDialog1.FontStrikethru ' Subrayada El_Control.FontUnderline = CommonDialog1.FontUnderline 'estilo cursiva de la fuente El_Control.FontItalic = CommonDialog1.FontItalic End If Next ElseIf Err.Number = 32755 Then ' Se presionó cancelar Else 'Otro error MsgBox Err.Number & ": " & Err.Description, vbCritical, " Error " End If End Sub Private Sub Form_Load() Command1.Caption = " Establecer fuente " End Sub
Nota: Para poder aplicar el color seleccionado de la lista de colores para la fuente, cuando el cuadro de diálogo permite mostrar Efectos ( color, subrayado etc..) , se debe aplicar a la propiedad ForeColor del control, el valor de la propiedad Color del Commondialog, por ejemplo
El_Control.ForeColor = El_CommonDialog.Color
Para ello hay que usar la constante cdlCFTTOnly.
Private Sub Form_Load() ' Lista las Fuentes de pantalla compatibles y _ las de tipo trueType CommonDialog1.Flags = cdlCFTTOnly Or cdlCFScreenFonts 'Abre el diálogo CommonDialog1.ShowFont End Sub
Para poder desplegar el cuadro de diálogo, con un mínimo y un máximo de tamaño para las fuentes, se debe usar la constante cdlCFLimitSize.
Los valores para el Mínimo de tamaño se deben indicar en la propiedad Min , y el máximo en la propiedad Max.
Ejemplo:
Private Sub Command1_Click()
On Error GoTo ErrSub
With CommonDialog1
.CancelError = True
'Valor mínimo y máximo
.Min = 10
.Max = 16
End With
' Indicamos la propiedad Flags, que liste las fuentes de pantalla _
y con el intervalo indicado en Min y Max para el tamaño
CommonDialog1.Flags = cdlCFScreenFonts Or cdlCFLimitSize
'Abre el diálogo
CommonDialog1.ShowFont
Exit Sub
ErrSub:
If Err.Number = 32755 Then
Err.Number = 0
Exit Sub
End If
End Sub
Hay un valor para pasarle a la propiedad Flags que permite disparar y mostrar un mesaje en caso de que se quiera seleccionar una fuente y/o estilo que no existe, este se llama cdlCFForceFontExist.
Por ejemplo abrimos el CommonDialog y escribimos un nombre de fuente inexistente ( aaaaaa ..)

...Al presionar Aceptar, automáticamente Visual basic desplegará el mensaje:

El código de esto último sería
CommonDialog1.CancelError = True
' Indicamos la propiedad Flags, que liste las fuentes de pantalla _
con efecto, y que verifique que la fuente exista
CommonDialog1.Flags = cdlCFScreenFonts Or cdlCFEffects Or cdlCFForceFontExist
'Abre el diálogo
CommonDialog1.ShowFont
Para hacer esto, hay que establecer las propiedades del cuadro de diálogo antes de llamar al método ShowFont.
El siguiente Ejemplo lo despliega con la fuente Verdana, tamaño 16, Subrayada y color Azul
With CommonDialog1
.FontName = "Verdana"
.FontUnderline = True
.Color = vbBlue
.FontSize = 16
.Flags = cdlCFScreenFonts Or cdlCFEffects
.ShowFont
End With
Nota: también se puede utilizar el diálogo de windows de Fuente sin utilizar el CommonDialog control de Visual basic, para ello hay que utilizar el Api CHOOSEFONT . En este enlace hay un ejemplo: Cuadro de diálogo fuente
Buscar en Recursos vb
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2008 - www.recursosvisualbasic.com.ar