Klasse CMFCToolBarFontComboBox

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Een werkbalkknop met een keuzelijst met invoervak waarmee de gebruiker een lettertype kan selecteren in een lijst met systeemlettertypen.

Syntaxis

class CMFCToolBarFontComboBox : public CMFCToolBarComboBoxButton

Leden

Beveiligde constructors

Naam Description
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox Maakt een CMFCToolBarFontComboBox object.

Openbare methoden

Naam Description
CMFCToolBarFontComboBox::GetFontDesc Retourneert een aanwijzer naar het CMFCFontInfo object voor een opgegeven index in de keuzelijst met invoervak.
CMFCToolBarFontComboBox::SetFont Selecteert een lettertype in de keuzelijst met invoervak voor lettertypen op basis van de naam van het lettertype of het voorvoegsel en de tekenset van het lettertype.

Gegevensleden

CMFCToolBarFontComboBox::m_nFontHeight
De hoogte van de tekens in de keuzelijst met invoervak voor lettertypen.

Opmerkingen

Voer de volgende stappen uit om een keuzelijst met invoervak voor lettertypen toe te voegen aan een werkbalk:

  1. Reserveer een dummy-resource-id voor de knop in de bovenliggende werkbalkresource.

  2. CMFCToolBarFontComboBox Een object maken.

  3. Vervang in de berichtenhandler die het AFX_WM_RESETTOOLBAR bericht verwerkt de oorspronkelijke knop door de nieuwe keuzelijst met invoervak met behulp van CMFCToolBar::ReplaceButton.

  4. Synchroniseer het lettertype dat is geselecteerd in de keuzelijst met invoervak met het lettertype in het document met behulp van de methode CMFCToolBarFontComboBox::SetFont .

Als u het lettertype van het document wilt synchroniseren met het lettertype dat is geselecteerd in de keuzelijst met invoervak, gebruikt u de methode CMFCToolBarFontComboBox::GetFontDesc om de kenmerken van het geselecteerde lettertype op te halen en gebruikt u deze kenmerken om een CFont Class-object te maken.

Met de keuzelijst met invoervak voor lettertypen wordt de Win32-functie EnumFontFamiliesEx aangeroepen om het scherm en de printerlettertypen te bepalen die beschikbaar zijn voor het systeem.

Overnamehiërarchie

CObject

CMFCToolBarButton

CMFCToolBarComboBoxButton

CMFCToolBarFontComboBox

Requirements

Koptekst: afxtoolbarfontcombobox.h

CMFCToolBarFontComboBox::CMFCToolBarFontComboBox

Maakt een CMFCToolBarFontComboBox-object .

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();

Parameterwaarden

uiID
[in] De opdracht-id van de keuzelijst met invoervak.

iImage
[in] De op nul gebaseerde index van een werkbalkafbeelding. De afbeelding bevindt zich in het CMFCToolBarImages Class-object dat de klasse CMFCToolBar Class onderhoudt.

nFontType
[in] De typen lettertypen die de keuzelijst met invoervak bevat. Deze parameter kan een combinatie zijn (Booleaanse OF) van de volgende waarden:

DEVICE_FONTTYPE

RASTER_FONTTYPE

TRUETYPE_FONTTYPE

nCharSet
[in] Als deze optie is ingesteld op DEFAULT_CHARSET, bevat de keuzelijst met invoervak alle unieke lettertypen in alle tekensets. (Als er twee lettertypen met dezelfde naam zijn, bevat de keuzelijst met invoervak er een.) Als deze waarde is ingesteld op een geldige tekenset, bevat de keuzelijst met invoervak alleen lettertypen in de opgegeven tekenset. Zie LOGFONT voor een lijst met mogelijke tekensets.

dwStyle
[in] De stijl van de keuzelijst met invoervak. (zie Combo-Box stijlen)

iWidth
[in] De breedte in pixels van het besturingselement bewerken.

nPitchAndFamily
[in] Als deze optie is ingesteld op DEFAULT_PITCH, bevat de keuzelijst met invoervak lettertypen, ongeacht de toonhoogte. Als deze optie is ingesteld op FIXED_PITCH of VARIABLE_PITCH, bevat de keuzelijst met invoervak alleen lettertypen met dat pitchtype. Filteren op basis van lettertypefamilie wordt momenteel niet ondersteund.

pLstFontsExternal
[uit] Wijs een CObList-klasseobject aan waarin de beschikbare lettertypen worden opgeslagen.

Opmerkingen

CMFCToolBarFontComboBox Normaal gesproken slaan objecten de lijst met beschikbare lettertypen op in één gedeeld CObList object. Als u de tweede overbelasting van de constructor gebruikt en een geldige aanwijzer op pLstFontsExternal opgeeft, vult dat CMFCToolBarFontComboBox object in plaats daarvan de CObListpLstFontsExternal-punten in met beschikbare lettertypen.

Example

In het volgende voorbeeld ziet u hoe u een CMFCToolBarFontComboBox object maakt. Dit codefragment maakt deel uit van het Word Pad-voorbeeld.

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

Retourneert een aanwijzer naar het CMFCFontInfo object voor een opgegeven index in de keuzelijst met invoervak.

const CMFCFontInfo* GetFontDesc(int iIndex=-1) const;

Parameterwaarden

iIndex
[in] Hiermee geeft u de op nul gebaseerde index van een keuzelijstitem met invoervak op.

Retourwaarde

Een aanwijzer naar een CMFCFontInfo object. Als iIndex geen geldige itemindex opgeeft, is de retourwaarde NULL.

CMFCToolBarFontComboBox::m_nFontHeight

Hiermee geeft u de hoogte, in pixels, van tekens in de keuzelijst met invoervak voor lettertypen op als de keuzelijst met invoervak eigenaar tekenstijl heeft.

static int m_nFontHeight

Opmerkingen

Als de m_nFontHeight variabele 0 is, wordt de hoogte automatisch berekend op basis van het standaardlettertype van de keuzelijst met invoervak. De hoogte omvat zowel de beklimming van tekens boven de basislijn als de afdaling van tekens onder de basislijn.

CMFCToolBarFontComboBox::SetFont

Hiermee selecteert u het lettertype in de keuzelijst met invoervak voor lettertypen op basis van de naam van het lettertype en de tekenset die zijn opgegeven in de parameters.

BOOL SetFont(
    LPCTSTR lpszName,
    BYTE nCharSet=DEFAULT_CHARSET,
    BOOL bExact=FALSE);

Parameterwaarden

lpszName
[in] Hiermee geeft u de naam of het voorvoegsel van het lettertype op.

nCharSet
[in] Hiermee geeft u de tekenset op.

bExact
[in] Hiermee geeft u op of lpszName de lettertypenaam of het lettertypevoorvoegsel bevat.

Retourwaarde

Niet-nul als het lettertype is geselecteerd; anders 0.

Opmerkingen

Als bExact TRUE is, selecteert deze methode een lettertype dat exact overeenkomt met de naam die u hebt opgegeven als lpszName. Als bExact FALSE is, selecteert deze methode een lettertype dat begint met de tekst die is opgegeven als lpszName en die gebruikmaakt van de tekenset die u hebt opgegeven als nCharSet. Als nCharSet is ingesteld op DEFAULT_CHARSET, wordt de tekenset genegeerd en wordt alleen lpszName gebruikt om een lettertype te selecteren.

Zie ook

Hiërarchiegrafiek
Klassen
CMFCToolBar-klasse
Klasse CMFCToolBarButton
CMFCToolBarComboBoxButton-klasse
CMFCFontInfo-klasse
CMFCToolBar::ReplaceButton
Overzicht: Besturingselementen op werkbalken plaatsen