Compartir a través de


CFontDialog (clase)

Permite incorporar un cuadro de diálogo de selección de color en la aplicación.

Sintaxis

class CFontDialog : public CCommonDialog

Miembros

Constructores públicos

Nombre Descripción
CFontDialog::CFontDialog Construye un objeto CFontDialog.

Métodos públicos

Nombre Descripción
CFontDialog::DoModal Muestra el cuadro de diálogo y permite al usuario realizar una selección.
CFontDialog::GetCharFormat Recupera el formato de caracteres de la fuente seleccionada.
CFontDialog::GetColor Devuelve el color de la fuente seleccionada.
CFontDialog::GetCurrentFont Asigna las características de la fuente seleccionada actualmente a una estructura LOGFONT.
CFontDialog::GetFaceName Devuelve el nombre de archivo de la fuente seleccionada.
CFontDialog::GetSize Devuelve el tamaño del punto de la fuente seleccionada.
CFontDialog::GetStyleName Devuelve el nombre del estilo de la fuente seleccionada.
CFontDialog::GetWeight Devuelve el peso de la fuente seleccionada.
CFontDialog::IsBold Determina si la fuente es negrita.
CFontDialog::IsItalic Determina si la fuente es cursiva.
CFontDialog::IsStrikeOut Determina si la fuente se muestra con el tachado.
CFontDialog::IsUnderline Especifica si la fuente está subrayada.

Miembros de datos públicos

Nombre Descripción
CFontDialog::m_cf Estructura utilizada para personalizar un objeto CFontDialog.

Comentarios

Un objeto CFontDialog es un cuadro de diálogo con una lista de fuentes que están instaladas actualmente en el sistema. El usuario puede seleccionar una fuente determinada de la lista y, a continuación, se notifica esta selección a la aplicación.

Para construir un objeto CFontDialog, use el constructor proporcionado o derive una nueva clase y use su propio constructor personalizado.

Una vez construido un objeto CFontDialog, puede usar la estructura m_cf para inicializar los valores o estados de los controles en el cuadro de diálogo. La estructura m_cc es de tipo CHOOSEFONT. Para más información sobre esta estructura, consulte Windows SDK.

Después de inicializar los controles del objeto de diálogo, llame a la función miembro DoModal para mostrar el cuadro de diálogo y permita al usuario seleccionar una fuente. DoModal devuelve si el usuario seleccionó el botón Aceptar (IDOK) o el botón Cancelar (IDCANCEL).

Si DoModal devuelve IDOK, puede usar una de las funciones miembro de CFontDialog para recuperar la entrada de información por parte del usuario.

Puede usar la función CommDlgExtendedError de Windows para determinar si se produjo un error durante la inicialización del cuadro de diálogo y obtener más información sobre el error. Para más información sobre esta función, consulte Windows SDK.

CFontDialog se basa en el archivo COMMDLG.DLL que se incluye con las versiones 3.1 y posteriores de Windows.

Para personalizar el cuadro de diálogo, derive una clase de CFontDialog, proporcione una plantilla de diálogo personalizada y agregue un mapa de mensajes para procesar los mensajes de notificación de los controles extendidos. Los mensajes no procesados deben pasarse a la clase base.

No es necesario personalizar la función de enlace.

Para más información sobre el uso de CFontDialog, consulte Clases de cuadros de diálogo comunes.

Jerarquía de herencia

CObject

CCmdTarget

CWnd

Cdialog

CCommonDialog

CFontDialog

Requisitos

Encabezado: afxdlgs.h

CFontDialog::CFontDialog

Construye un objeto CFontDialog.

CFontDialog(
    LPLOGFONT lplfInitial = NULL,
    DWORD dwFlags = CF_EFFECTS | CF_SCREENFONTS,
    CDC* pdcPrinter = NULL,
    CWnd* pParentWnd = NULL);

CFontDialog(
    const CHARFORMAT& charformat,
    DWORD dwFlags = CF_SCREENFONTS,
    CDC* pdcPrinter = NULL,
    CWnd* pParentWnd = NULL);

Parámetros

plfInitial
Puntero a una estructura de datos LOGFONT que permite definir algunas de las características de la fuente.

charFormat
Puntero a una estructura de datos CHARFORMAT que permite definir algunas de las características de la fuente en un control de edición enriquecida (Rich Edit).

dwFlags
Especifica uno o más marcadores CHOOSEFONT. Se pueden combinar uno o más valores preestablecidos mediante el operador bit a bit OR. Si modifica el miembro de estructura de m_cf.Flag, procure usar un operador bit a bit OR en los cambios que realice para que el comportamiento predeterminado siga intacto. Para ver detalles sobre cada una de estas marcas, consulte la descripción de la estructura CHOOSEFONT en Windows SDK.

pdcPrinter
Puntero a un contexto de dispositivo de impresora. Si se suministra, este parámetro apunta a un contexto de dispositivo de impresora correspondiente a la impresora en la que las fuentes se van a seleccionar.

pParentWnd
Puntero a la ventana principal o propietaria del cuadro de diálogo de fuentes.

Comentarios

Observe que el constructor rellena automáticamente los miembros de la estructura CHOOSEFONT. Esto solo debe modificarse en caso de que quiera un cuadro de diálogo de fuentes distinto al predeterminado.

Nota:

La primera versión de esta función solo existe cuando no hay compatibilidad con el control de edición enriquecida.

Ejemplo

// Show the font dialog with all the default settings.
CFontDialog dlg;
dlg.DoModal();

// Show the font dialog with 12 point "Times New Roman" as the
// selected font.
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));

CClientDC dc(this); // expects a CWnd that has already been initialized
lf.lfHeight = -MulDiv(12, dc.GetDeviceCaps(LOGPIXELSY), 72);
_tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Times New Roman"));

CFontDialog fdlg(&lf);
fdlg.DoModal();

CFontDialog::DoModal

Llame a esta función para mostrar el cuadro de diálogo de fuente común de Windows y permitir al usuario seleccionar una fuente.

virtual INT_PTR DoModal();

Valor devuelto

IDOK o IDCANCEL. Si se devuelve IDCANCEL, llame a la función CommDlgExtendedError de Windows para determinar si se ha producido un error.

IDOK y IDCANCEL son constantes que indican si el usuario seleccionó el botón Aceptar o Cancelar.

Comentarios

Si quiere inicializar los distintos controles de diálogo de fuente estableciendo miembros de la estructura m_cf, debe hacerlo antes de llamar a DoModal, pero después de construir el objeto de cuadro de diálogo.

Si DoModal devuelve IDOK, puede llamar a otras funciones miembro para recuperar la configuración o la información que especificó el usuario en el cuadro de diálogo.

Ejemplo

Vea los ejemplos de CFontDialog::CFontDialog y CFontDialog::GetColor.

CFontDialog::GetCharFormat

Recupera el formato de caracteres de la fuente seleccionada.

void GetCharFormat(CHARFORMAT& cf) const;

Parámetros

cf
Una estructura CHARFORMAT que contiene información sobre el formato de caracteres de la fuente seleccionada.

CFontDialog::GetColor

Llame a esta función para recuperar el color de fuente seleccionado.

COLORREF GetColor() const;

Valor devuelto

Color de la fuente seleccionada.

Ejemplo

// Get the color of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   COLORREF color = dlg.GetColor();
   TRACE(_T("Color of the selected font = %8x\n"), color);
}

CFontDialog::GetCurrentFont

Llame a esta función para asignar las características de la fuente seleccionada actualmente a los miembros de una estructura LOGFONT .

void GetCurrentFont(LPLOGFONT lplf);

Parámetros

lplf
Un puntero a una estructura LOGFONT.

Comentarios

Se proporcionan otras funciones miembro CFontDialog para acceder a características individuales de la fuente actual.

Si se llama a esta función durante una llamada a DoModal, devuelve la selección actual en el momento (lo que el usuario ve o ha cambiado en el cuadro de diálogo). Si se llama a esta función después de una llamada a DoModal (solo si DoModal devuelve IDOK), devuelve lo que el usuario seleccionó realmente.

Ejemplo

// Get the characteristics of the currently selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   LOGFONT lf;
   dlg.GetCurrentFont(&lf);
   TRACE(_T("Face name of the selected font = %s\n"), lf.lfFaceName);
}

CFontDialog::GetFaceName

Llame a esta función para recuperar el nombre de cara de la fuente seleccionada.

CString GetFaceName() const;

Valor devuelto

Nombre de la cara de la fuente seleccionada en el cuadro de diálogo CFontDialog.

Ejemplo

// Get the face name of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   CString facename = dlg.GetFaceName();
   TRACE(_T("Face name of the selected font = %s\n"), facename);
}

CFontDialog::GetSize

Llame a esta función para recuperar el tamaño de la fuente seleccionada.

int GetSize() const;

Valor devuelto

Tamaño de la fuente, en décimas de punto.

Ejemplo

// Get the size of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   int size = dlg.GetSize();
   TRACE(_T("The size of the selected font = %d\n"), size);
}

CFontDialog::GetStyleName

Llame a esta función para recuperar el nombre del estilo de la fuente seleccionada.

CString GetStyleName() const;

Valor devuelto

Nombre de estilo de la fuente.

Ejemplo

// Get the style name of the selected font, if any.
CFontDialog dlg;
dlg.m_cf.Flags |= CF_USESTYLE;
if (dlg.DoModal() == IDOK)
{
   CString stylename = dlg.GetStyleName();
   TRACE(_T("Style name of the selected font = %s\n"), stylename);
}

CFontDialog::GetWeight

Llame a esta función para recuperar el peso de la fuente seleccionada.

int GetWeight() const;

Valor devuelto

El peso de la fuente seleccionada.

Comentarios

Para obtener más información sobre el peso de una fuente, vea CFont::CreateFont.

Ejemplo

// Get the weight of the selected font, if any.
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   int weight = dlg.GetWeight();
   TRACE(_T("Weight of the selected font = %d\n"), weight);
}

CFontDialog::IsBold

Llame a esta función para determinar si la fuente seleccionada está en negrita.

BOOL IsBold() const;

Valor devuelto

Distinto de cero si la fuente seleccionada tiene habilitada la característica Negrita; de lo contrario, 0.

Ejemplo

// Is the selected font bold?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL bold = dlg.IsBold();
   TRACE(_T("Is the selected font bold? %d\n"), bold);
}

CFontDialog::IsItalic

Llame a esta función para determinar si la fuente seleccionada está en cursiva.

BOOL IsItalic() const;

Valor devuelto

Distinto de cero si la fuente seleccionada tiene habilitada la característica Cursiva; de lo contrario, 0.

Ejemplo

// Is the selected font italic?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL italic = dlg.IsItalic();
   TRACE(_T("Is the selected font italic? %d\n"), italic);
}

CFontDialog::IsStrikeOut

Llame a esta función para determinar si la fuente seleccionada se muestra con tachado.

BOOL IsStrikeOut() const;

Valor devuelto

Distinto de cero si la fuente seleccionada tiene habilitada la característica Tachado; de lo contrario, 0.

Ejemplo

// Is the selected font displayed with strikeout?

CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL strikeout = dlg.IsStrikeOut();
   TRACE(_T("Is the selected font strikeout? %d\n"), strikeout);
}

CFontDialog::IsUnderline

Llame a esta función para determinar si la fuente seleccionada está subrayada.

BOOL IsUnderline() const;

Valor devuelto

Distinto de cero si la fuente seleccionada tiene habilitada la característica Subrayado; de lo contrario, 0.

Ejemplo

// Is the selected font underlined?
CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   BOOL underline = dlg.IsUnderline();
   TRACE(_T("Is the selected font underlined? %d\n"), underline);
}

CFontDialog::m_cf

Estructura cuyos miembros almacenan las características del objeto de cuadro de diálogo.

CHOOSEFONT m_cf;

Comentarios

Después de construir un objeto CFontDialog, puede usar m_cf para establecer varios aspectos del cuadro de diálogo antes de llamar a la función miembro DoModal. Para obtener más información sobre esta estructura, consulte la estructura CHOOSEFONT en Windows SDK.

Ejemplo

// The code fragment creates a font based on the information
// we got from CFontDialog::m_cf variable.

CFontDialog dlg;
if (dlg.DoModal() == IDOK)
{
   // Create the font using the selected font from CFontDialog.
   LOGFONT lf;
   memcpy(&lf, dlg.m_cf.lpLogFont, sizeof(LOGFONT));

   CFont font;
   VERIFY(font.CreateFontIndirect(&lf));

   // Do something with the font just created...
   CClientDC dc(this);
   CFont *def_font = dc.SelectObject(&font);
   dc.TextOut(5, 5, _T("Hello"), 5);
   dc.SelectObject(def_font);

   // Done with the font. Delete the font object.
   font.DeleteObject();
}

Consulte también

HIERSVR de muestra MFC
CCommonDialog (clase)
Gráfico de jerarquías