Classe CMFCToolBarFontComboBox
Pulsante della barra degli strumenti che contiene un controllo casella combinata che consente all'utente di selezionare un tipo di carattere da un elenco di tipi di carattere di sistema.
Sintassi
class CMFCToolBarFontComboBox : public CMFCToolBarComboBoxButton
Membri
Costruttori protetti
Nome | Descrizione |
---|---|
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox | Costruisce un oggetto CMFCToolBarFontComboBox . |
Metodi pubblici
Nome | Descrizione |
---|---|
CMFCToolBarFontComboBox::GetFontDesc | Restituisce un puntatore all'oggetto CMFCFontInfo per un indice specificato nella casella combinata. |
CMFCToolBarFontComboBox::SetFont | Seleziona un tipo di carattere nella casella combinata del tipo di carattere in base al nome del tipo di carattere o al prefisso e al set di caratteri del tipo di carattere. |
Membri dei dati
CMFCToolBarFontComboBox::m_nFontHeight
Altezza dei caratteri nella casella combinata tipo di carattere.
Osservazioni:
Per aggiungere un pulsante casella combinata carattere a una barra degli strumenti, seguire questa procedura:
Riservare un ID di risorsa fittizio per il pulsante nella risorsa della barra degli strumenti padre.
Costruire un
CMFCToolBarFontComboBox
oggetto .Nel gestore di messaggi che elabora il messaggio AFX_WM_RESETTOOLBAR sostituire il pulsante originale con il nuovo pulsante casella combinata usando CMFCToolBar::ReplaceButton.
Sincronizzare il tipo di carattere selezionato nella casella combinata con il tipo di carattere del documento utilizzando il metodo CMFCToolBarFontComboBox::SetFont .
Per sincronizzare il tipo di carattere del documento con il tipo di carattere selezionato nella casella combinata, utilizzare il metodo CMFCToolBarFontComboBox::GetFontDesc per recuperare gli attributi del tipo di carattere selezionato e utilizzare tali attributi per creare un oggetto Classe CFont.
Il pulsante casella combinata carattere chiama la funzione Win32 EnumFontFamiliesEx per determinare i tipi di carattere dello schermo e della stampante disponibili per il sistema.
Gerarchia di ereditarietà
Requisiti
Intestazione: afxtoolbarfontcombobox.h
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox
Costruisce un oggetto 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();
Parametri
uiID
[in] ID comando della casella combinata.
iImage
[in] Indice in base zero di un'immagine della barra degli strumenti. L'immagine si trova nell'oggetto classe CMFCToolBarImages gestito dalla classe CMFCToolBar.
nFontType
[in] Tipi di carattere contenuti nella casella combinata. Questo parametro può essere una combinazione (OR booleano) dei valori seguenti:
DEVICE_FONTTYPE
RASTER_FONTTYPE
TRUETYPE_FONTTYPE
nCharSet
[in] Se impostato su DEFAULT_CHARSET, la casella combinata contiene tutti i tipi di carattere denominati in modo univoco in tutti i set di caratteri. Se sono presenti due tipi di carattere con lo stesso nome, la casella combinata ne contiene una. Se impostato su un valore di set di caratteri valido, la casella combinata contiene solo i tipi di carattere nel set di caratteri specificato. Per un elenco di possibili set di caratteri, vedere LOGFONT .
dwStyle
[in] Stile della casella combinata. (vedere Stili casella combinata)
iWidth
[in] Larghezza in pixel del controllo di modifica.
nPitchAndFamily
[in] Se impostato su DEFAULT_PITCH, la casella combinata contiene tipi di carattere indipendentemente dall'inclinazione. Se impostato su FIXED_PITCH o VARIABLE_PITCH, la casella combinata contiene solo i tipi di carattere con quel tipo di inclinazione. Il filtro basato sulla famiglia di caratteri non è attualmente supportato.
pLstFontsExternal
[out] Puntatore a un oggetto Classe CObList in cui sono archiviati i tipi di carattere disponibili.
Osservazioni:
In genere, CMFCToolBarFontComboBox
gli oggetti archiviano l'elenco dei tipi di carattere disponibili in un singolo oggetto condiviso CObList
. Se si usa il secondo overload del costruttore e si specifica un puntatore valido a pLstFontsExternal, tale CMFCToolBarFontComboBox
oggetto riempirà invece l'oggetto CObList
a cui pLstFontsExternal punta con i tipi di carattere disponibili.
Esempio
Nell'esempio seguente viene illustrato come costruire un CMFCToolBarFontComboBox
oggetto . Questo frammento di codice fa parte dell' esempio di Word Pad.
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
Restituisce un puntatore all'oggetto CMFCFontInfo
per un indice specificato nella casella combinata.
const CMFCFontInfo* GetFontDesc(int iIndex=-1) const;
Parametri
iIndex
[in] Specifica l'indice in base zero di un elemento della casella combinata.
Valore restituito
Puntatore a un oggetto CMFCFontInfo
. Se iIndex non specifica un indice di elemento valido, il valore restituito è NULL.
CMFCToolBarFontComboBox::m_nFontHeight
Specifica l'altezza, in pixel, dei caratteri nella casella combinata del tipo di carattere se la casella combinata ha uno stile di disegno proprietario.
static int m_nFontHeight
Osservazioni:
Se la m_nFontHeight
variabile è 0, l'altezza viene calcolata automaticamente in base al tipo di carattere predefinito della casella combinata. L'altezza include sia l'ascente di caratteri sopra la linea di base che la discesa dei caratteri sotto la linea di base.
CMFCToolBarFontComboBox::SetFont
Seleziona il tipo di carattere nella casella combinata del tipo di carattere in base al nome del carattere e al set di caratteri specificati nei parametri.
BOOL SetFont(
LPCTSTR lpszName,
BYTE nCharSet=DEFAULT_CHARSET,
BOOL bExact=FALSE);
Parametri
lpszName
[in] Specifica il nome o il prefisso del tipo di carattere.
nCharSet
[in] Specifica il set di caratteri.
bExact
[in] Specifica se lpszName contiene il nome del tipo di carattere o il prefisso del tipo di carattere.
Valore restituito
Diverso da zero se il tipo di carattere è stato selezionato correttamente; in caso contrario, 0.
Osservazioni:
Se bExact è TRUE, questo metodo seleziona un tipo di carattere che corrisponde esattamente al nome specificato come lpszName. Se bExact è FALSE, questo metodo seleziona un tipo di carattere che inizia con il testo specificato come lpszName e che utilizza il set di caratteri specificato come nCharSet. Se nCharSet è impostato su DEFAULT_CHARSET, il set di caratteri verrà ignorato e verrà usato solo lpszName per selezionare un tipo di carattere.
Vedi anche
Grafico della gerarchia
Classi
Classe CMFCToolBar
Classe CMFCToolBarButton
Classe CMFCToolBarComboBoxButton
Classe CMFCFontInfo
CMFCToolBar::ReplaceButton
Procedura dettagliata: inserimento di controlli nelle barre degli strumenti