Ejemplos usando el Api de windows para Visual basic

151 - CHOOSEFONT - Commondialog de fuente

Volver al Listado Api - Anterior - Siguiente



 

 

 

Ejemplo que utiliza principalemnte la función api CHOOSEFONT para utilizar el diálogo común de windows para desplegar las fuentes del sistema

 

vista del Commondialog usando el api de windows

 

Una parte de este ejemplo ( para guiarme ) la saqué del ApiGuide .

El ejemplo muestra como utilizar dicha función Api para desplegar el Commondialog , pero el mismo solo servía para retornar el nombre de la fuente, sin poder recuperar y establecer los demás atributos de fuente, como por ejemplo negrita, subrayado, el tamaño, color, cursiva, tachado, etc. Cosa muy incómoda

El ejemplo lo metí en un módulo de clase, y le añadí todas las propiedades mas comunes para los atributos de la fuente, de esta manera es mas simple utilizarlo, y también poder reutilizarlo por ejemplo en otra aplicación con solo transportar el módulo de clase

 

El módulo tiene un solo método llamado ShowFont para llamar al cuadro de diálogo.

Por ejemplo:

Call CMDFont.ShowFont(Me)

 

Las propiedades que tiene declaradas el mismo son:

 

vista de la lista de propiedades y métodos para manejar los atributos de las fuentes

 

Nota: la propiedad CancelError no funciona como el diálogo del ocx Microsoft Common dialog Control de visual basic, en donde si se establece en True y se presiona el botón de cancelar, se dispara el error 32755 para capturarlo.

Importante: De la foma en que lo hice, hay que hacer lo siguiente. Justo después de llamar al método ShowFont, SIEMPRE hay que consular el valor de la propiedad CancelError para ver si se ha presionado el botón cancelar, por ejemplo:

 

Call CMDFont.ShowFont(Me)

If CMDFont.cancelError Then
   MsgBox " Se presionó cancelar", vbInformation
   Exit Sub
End If

... si todo está bien sigue 

 

Si sabes como se podría interceptar esto, me lo podés comunicar asi lo agrego. Creo que hay que utilizar un Hook para poder capturar el mismo pero no estoy seguro si abrá una forma mas simple.

 


 

Primero se lista el código del módulo de clase, y al final de la página un ejemplo de como llamarlo para cambiar los atributos de fuente a un control Label

 

Código fuente en un módulo de clase llamado Class1

 

 


 

Ejemplo para probarlo desde un formulario al presionar un CommandButton y estableciendo los atributos a un control Label

 

Código en el form con un Label1 y un Command1

 


Enlaces relacionados - Recursos vb6

 



Buscar en Recursos vb