Condividi tramite


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:

  1. Riservare un ID di risorsa fittizio per il pulsante nella risorsa della barra degli strumenti padre.

  2. Costruire un CMFCToolBarFontComboBox oggetto .

  3. Nel gestore di messaggi che elabora il messaggio AFX_WM_RESETTOOLBAR sostituire il pulsante originale con il nuovo pulsante casella combinata usando CMFCToolBar::ReplaceButton.

  4. 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à

CObject

CMFCToolBarButton

CMFCToolBarComboBoxButton

CMFCToolBarFontComboBox

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