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
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();
}
Vea también
HIERSVR de muestra MFC
CCommonDialog (clase)
Gráfico de jerarquías