Clase CMFCToolBarFontComboBox
Botón de la barra de herramientas que contiene un control de cuadro combinado que permite al usuario seleccionar una fuente de una lista de fuentes del sistema.
Sintaxis
class CMFCToolBarFontComboBox : public CMFCToolBarComboBoxButton
Miembros
Constructores protegidos
Nombre | Descripción |
---|---|
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox | Construye un objeto CMFCToolBarFontComboBox . |
Métodos públicos
Nombre | Descripción |
---|---|
CMFCToolBarFontComboBox::GetFontDesc | Devuelve un puntero al objeto CMFCFontInfo para un índice especificado en el cuadro combinado. |
CMFCToolBarFontComboBox::SetFont | Selecciona una fuente en el cuadro combinado de fuentes en función del nombre de la fuente o el prefijo y el juego de caracteres de la fuente. |
Miembros de datos
CMFCToolBarFontComboBox::m_nFontHeight
El alto de los caracteres del cuadro combinado de fuentes.
Comentarios
Para agregar un botón del cuadro combinado de fuentes a una barra de herramientas, siga estos pasos:
Reserve un id. de recurso ficticio para el botón en el recurso primario de la barra de herramientas.
Cree un objeto
CMFCToolBarFontComboBox
.En el controlador de mensajes que procesa el mensaje AFX_WM_RESETTOOLBAR, reemplace el botón original por el botón de cuadro combinado nuevo mediante CMFCToolBar::ReplaceButton.
Sincronice la fuente seleccionada en el cuadro combinado con la fuente en el documento mediante el método CMFCToolBarFontComboBox::SetFont.
Para sincronizar la fuente del documento con la fuente seleccionada en el cuadro combinado, use el método CMFCToolBarFontComboBox::GetFontDesc para recuperar los atributos de la fuente seleccionada y use esos atributos para crear un objeto CFont Class.
El botón del cuadro combinado de fuentes llama a la función EnumFontFamiliesEx de Win32 para determinar las fuentes de pantalla e impresora disponibles para el sistema.
Jerarquía de herencia
Requisitos
Encabezado: afxtoolbarfontcombobox.h
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox
Construye un objeto CMFCToolBarFontComboBox.
public:
CMFCToolBarFontComboBox(
UINT uiID,
int iImage,
int nFontType = DEVICE_FONTTYPE | RASTER_FONTTYPE | TRUETYPE_FONTTYPE,
BYTE nCharSet = DEFAULT_CHARSET,
DWORD dwStyle = CBS_DROPDOWN,
int iWidth = 0,
BYTE nPitchAndFamily = DEFAULT_PITCH);
protected:
CMFCToolBarFontComboBox(
CObList* pLstFontsExternal,
int nFontType,
BYTE nCharSet,
BYTE nPitchAndFamily);
CMFCToolBarFontComboBox();
Parámetros
uiID
[in] Identificador de comando del cuadro combinado.
iImage
[in] Índice de base cero de una imagen de la barra de herramientas. La imagen se encuentra en el objeto CMFCToolBarImages Class que la clase CMFCToolBar Class mantiene.
nFontType
[in] Tipos de fuentes que el cuadro combinado contiene. Este parámetro puede ser una combinación (OR booleano) de los valores siguientes:
DEVICE_FONTTYPE
RASTER_FONTTYPE
TRUETYPE_FONTTYPE
nCharSet
[in] Si se establece en DEFAULT_CHARSET, el cuadro combinado contiene todas las fuentes con nombre único en todos los juegos de caracteres. (Si hay dos fuentes con el mismo nombre, el cuadro combinado contiene una de ellas). Si se establece en un valor de juego de caracteres válido, el cuadro combinado solo contiene fuentes del juego de caracteres especificado. Consulte LOGFONT para una lista de juegos de caracteres posibles.
dwStyle
[in] Estilo del cuadro combinado. (Consulte Estilos de cuadro combinado).
iWidth
[in] El ancho del control de edición, en píxeles.
nPitchAndFamily
[in] Si se establece en DEFAULT_PITCH, el cuadro combinado contiene fuentes independientemente del paso. Si se establece en FIXED_PITCH o VARIABLE_PITCH, el cuadro combinado solo contiene fuentes con ese tipo de paso. Actualmente, no se admite el filtrado en función de la familia de fuentes.
pLstFontsExternal
[out] Puntero a un objeto de la clase CObList que almacena las fuentes disponibles.
Comentarios
Por lo general, los objetos CMFCToolBarFontComboBox
almacenan la lista de fuentes disponibles en un objeto CObList
compartido único. Si usa la segunda sobrecarga del constructor y proporciona un puntero válido a pLstFontsExternal, ese objeto CMFCToolBarFontComboBox
rellenará en su lugar el CObList
al que apunta pLstFontsExternal con las fuentes disponibles.
Ejemplo
En el ejemplo siguiente, se muestra cómo construir un objeto CMFCToolBarFontComboBox
. Este fragmento de código forma parte del ejemplo de WordPad.
CMFCToolBarFontComboBox *CFormatBar::CreateFontComboButton()
{
// CSize m_szBaseUnits
return new CMFCToolBarFontComboBox(IDC_FONTNAME,
GetCmdMgr()->GetCmdImage(IDC_FONTNAME, FALSE),
TRUETYPE_FONTTYPE | DEVICE_FONTTYPE,
DEFAULT_CHARSET,
WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN |
CBS_AUTOHSCROLL | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED,
(3 * LF_FACESIZE * m_szBaseUnits.cx) / 2);
}
CMFCToolBarFontComboBox::GetFontDesc
Devuelve un puntero al objeto CMFCFontInfo
para un índice especificado en el cuadro combinado.
const CMFCFontInfo* GetFontDesc(int iIndex=-1) const;
Parámetros
iIndex
[in] Especifica el índice de base cero de un elemento de cuadro combinado.
Valor devuelto
Puntero a un objeto CMFCFontInfo
. Si iIndex no especifica un índice de elemento válido, el valor devuelto es NULL.
CMFCToolBarFontComboBox::m_nFontHeight
Especifica el alto, en píxeles, de los caracteres del cuadro combinado de fuentes si el cuadro combinado tiene el estilo dibujado por el propietario.
static int m_nFontHeight
Comentarios
Si la variable m_nFontHeight
es 0, el alto se calcula automáticamente en función de la fuente predeterminada del cuadro combinado. El alto incluye el ascenso de los caracteres por encima de la línea de base y el descenso de los caracteres por debajo de la misma.
CMFCToolBarFontComboBox::SetFont
Selecciona la fuente en el cuadro combinado de fuentes en función del nombre de la fuente y el juego de caracteres especificados en los parámetros.
BOOL SetFont(
LPCTSTR lpszName,
BYTE nCharSet=DEFAULT_CHARSET,
BOOL bExact=FALSE);
Parámetros
lpszName
[in] Especifica el prefijo o el nombre de la fuente.
nCharSet
[in] Especifica el juego de caracteres.
bExact
[in] Especifica si lpszName contiene el nombre o el prefijo de la fuente.
Valor devuelto
Distinto de cero si la fuente se seleccionó correctamente; de lo contrario, 0.
Comentarios
Si bExact es TRUE, este método selecciona una fuente que coincide exactamente con el nombre que especificó como lpszName. Si bExact es FALSE, este método selecciona una fuente que comienza con el texto especificado como lpszName y que usa el juego de caracteres especificado como nCharSet. Si nCharSet se establece en DEFAULT_CHARSET, se omitirá el juego de caracteres y solo se usará lpszName para seleccionar una fuente.
Consulte también
Gráfico de jerarquías
Clases
CMFCToolBar (clase)
CMFCToolBarButton (clase)
CMFCToolBarComboBoxButton (clase)
CMFCFontInfo (clase)
CMFCToolBar::ReplaceButton
Tutorial: Poner controles en las barras de herramientas