Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Hiermee kunt u een dialoogvenster voor lettertypeselectie opnemen in uw toepassing.
Syntaxis
class CFontDialog : public CCommonDialog
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CFontDialog::CFontDialog | Maakt een CFontDialog object. |
Openbare methoden
| Naam | Description |
|---|---|
| CFontDialog::D oModal | Hiermee wordt het dialoogvenster weergegeven en kan de gebruiker een selectie maken. |
| CFontDialog::GetCharFormat | Hiermee wordt de tekenopmaak van het geselecteerde lettertype opgehaald. |
| CFontDialog::GetColor | Retourneert de kleur van het geselecteerde lettertype. |
| CFontDialog::GetCurrentFont | Hiermee wijst u de kenmerken van het geselecteerde lettertype toe aan een LOGFONT structuur. |
| CFontDialog::GetFaceName | Retourneert de gezichtsnaam van het geselecteerde lettertype. |
| CFontDialog::GetSize | Retourneert de puntgrootte van het geselecteerde lettertype. |
| CFontDialog::GetStyleName | Retourneert de stijlnaam van het geselecteerde lettertype. |
| CFontDialog::GetWeight | Retourneert het gewicht van het geselecteerde lettertype. |
| CFontDialog::IsBold | Bepaalt of het lettertype vet is. |
| CFontDialog::IsItalic | Bepaalt of het lettertype cursief is. |
| CFontDialog::IsStrikeOut | Bepaalt of het lettertype wordt weergegeven met doorhalen. |
| CFontDialog::IsUnderline | Bepaalt of het lettertype is onderstreept. |
Leden van openbare gegevens
| Naam | Description |
|---|---|
| CFontDialog::m_cf | Een structuur die wordt gebruikt om een CFontDialog object aan te passen. |
Opmerkingen
Een CFontDialog object is een dialoogvenster met een lijst met lettertypen die momenteel in het systeem zijn geïnstalleerd. De gebruiker kan een bepaald lettertype in de lijst selecteren en deze selectie wordt vervolgens teruggegeven aan de toepassing.
Als u een CFontDialog object wilt maken, gebruikt u de meegeleverde constructor of leidt u een nieuwe subklasse af en gebruikt u uw eigen aangepaste constructor.
Zodra een CFontDialog object is samengesteld, kunt u de m_cf structuur gebruiken om de waarden of statussen van besturingselementen in het dialoogvenster te initialiseren. De m_cf structuur is van het type CHOOSEFONT. Zie de Windows SDK voor meer informatie over deze structuur.
Nadat u de besturingselementen van het dialoogvensterobject hebt geïnitialiseerd, roept u de DoModal lidfunctie aan om het dialoogvenster weer te geven en kan de gebruiker een lettertype selecteren.
DoModal retourneert of de gebruiker de knop OK (IDOK) of Annuleren (IDCANCEL) heeft geselecteerd.
Als DoModal IDOK wordt geretourneerd, kunt u een van CFontDialogde lidfuncties gebruiken om de informatie-invoer van de gebruiker op te halen.
U kunt de functie Windows CommDlgExtendedError gebruiken om te bepalen of er een fout is opgetreden tijdens de initialisatie van het dialoogvenster en voor meer informatie over de fout. Zie de Windows SDK voor meer informatie over deze functie.
CFontDialog is afhankelijk van het COMMDLG.DLL-bestand dat wordt geleverd met Windows-versies 3.1 en hoger.
Als u het dialoogvenster wilt aanpassen, moet u een klasse afleiden uit CFontDialog, een aangepaste dialoogvenstersjabloon opgeven en een berichtoverzicht toevoegen om de meldingsberichten van de uitgebreide besturingselementen te verwerken. Niet-verwerkte berichten moeten worden doorgegeven aan de basisklasse.
Het aanpassen van de haakfunctie is niet vereist.
Zie Algemene dialoogvensterklassen voor meer informatie over het gebruikCFontDialog.
Overnamehiërarchie
CFontDialog
Requirements
Koptekst: afxdlgs.h
CFontDialog::CFontDialog
Maakt een CFontDialog object.
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);
Parameterwaarden
plfInitial
Een aanwijzer naar een LOGFONT-gegevensstructuur waarmee u bepaalde kenmerken van het lettertype kunt instellen.
charFormat
Een aanwijzer naar een CHARFORMAT-gegevensstructuur waarmee u enkele van de kenmerken van het lettertype kunt instellen in een uitgebreid besturingselement voor bewerken.
dwFlags
Hiermee geeft u een of meer vlaggen voor kieslettertype op. Een of meer vooraf ingestelde waarden kunnen worden gecombineerd met behulp van de bitsgewijze OR-operator. Als u het m_cf.Flagstructuurlid wijzigt, moet u een bitwise OR-operator in uw wijzigingen gebruiken om het standaardgedrag intact te houden. Zie de beschrijving van de CHOOSEFONT-structuur in de Windows SDK voor meer informatie over elk van deze vlaggen.
pdcPrinter
Een aanwijzer naar de context van een printerapparaat. Indien opgegeven, verwijst deze parameter naar een printerapparaatcontext voor de printer waarop de lettertypen moeten worden geselecteerd.
pParentWnd
Een aanwijzer naar het bovenliggende of eigenaarsvenster van het dialoogvenster lettertype.
Opmerkingen
Houd er rekening mee dat de constructor automatisch de leden van de CHOOSEFONT structuur invult. U moet deze alleen wijzigen als u een lettertypedialoogvenster wilt wijzigen dat anders is dan de standaardinstelling.
Opmerking
De eerste versie van deze functie bestaat alleen als er geen uitgebreide besturingselementondersteuning voor bewerkingen is.
Example
// 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::D oModal
Roep deze functie aan om het algemene lettertypedialoogvenster van Windows weer te geven en de gebruiker toe te staan een lettertype te kiezen.
virtual INT_PTR DoModal();
Retourwaarde
IDOK of IDCANCEL. Als IDCANCEL wordt geretourneerd, roept u de functie Windows CommDlgExtendedError aan om te bepalen of er een fout is opgetreden.
IDOK en IDCANCEL zijn constanten die aangeven of de gebruiker de knop OK of Annuleren heeft geselecteerd.
Opmerkingen
Als u de verschillende dialoogvensterbesturingselementen voor lettertypen wilt initialiseren door leden van de m_cf structuur in te stellen, moet u dit doen voordat u aanroept DoModal, maar nadat het dialoogvensterobject is gemaakt.
Als DoModal IDOK wordt geretourneerd, kunt u andere lidfuncties aanroepen om de instellingen of informatie-invoer van de gebruiker op te halen in het dialoogvenster.
Example
Zie de voorbeelden voor CFontDialog::CFontDialog en CFontDialog::GetColor.
CFontDialog::GetCharFormat
Hiermee wordt de tekenopmaak van het geselecteerde lettertype opgehaald.
void GetCharFormat(CHARFORMAT& cf) const;
Parameterwaarden
Zie
Een CHARFORMAT-structuur met informatie over de tekenopmaak van het geselecteerde lettertype.
CFontDialog::GetColor
Roep deze functie aan om de geselecteerde tekstkleur op te halen.
COLORREF GetColor() const;
Retourwaarde
De kleur van het geselecteerde lettertype.
Example
// 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
Roep deze functie aan om de kenmerken van het geselecteerde lettertype toe te wijzen aan de leden van een LOGFONT-structuur .
void GetCurrentFont(LPLOGFONT lplf);
Parameterwaarden
lplf
Een aanwijzer naar een LOGFONT structuur.
Opmerkingen
Andere CFontDialog lidfuncties zijn beschikbaar voor toegang tot afzonderlijke kenmerken van het huidige lettertype.
Als deze functie wordt aangeroepen tijdens een aanroep naar DoModal, wordt de huidige selectie op het moment geretourneerd (wat de gebruiker ziet of heeft gewijzigd in het dialoogvenster). Als deze functie wordt aangeroepen na een aanroep naar DoModal (alleen als DoModal IDOK wordt geretourneerd), wordt geretourneerd wat de gebruiker daadwerkelijk heeft geselecteerd.
Example
// 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
Roep deze functie aan om de gezichtsnaam van het geselecteerde lettertype op te halen.
CString GetFaceName() const;
Retourwaarde
De gezichtsnaam van het lettertype dat is geselecteerd in het CFontDialog dialoogvenster.
Example
// 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
Roep deze functie aan om de grootte van het geselecteerde lettertype op te halen.
int GetSize() const;
Retourwaarde
De tekengrootte, in tienden van een punt.
Example
// 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
Roep deze functie aan om de stijlnaam van het geselecteerde lettertype op te halen.
CString GetStyleName() const;
Retourwaarde
De stijlnaam van het lettertype.
Example
// 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
Roep deze functie aan om het gewicht van het geselecteerde lettertype op te halen.
int GetWeight() const;
Retourwaarde
Het gewicht van het geselecteerde lettertype.
Opmerkingen
Zie CFont::CreateFont voor meer informatie over het gewicht van een lettertype.
Example
// 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
Roep deze functie aan om te bepalen of het geselecteerde lettertype vet is.
BOOL IsBold() const;
Retourwaarde
Niet-nul als het geselecteerde lettertype de eigenschap Vet heeft ingeschakeld; anders 0.
Example
// 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
Roep deze functie aan om te bepalen of het geselecteerde lettertype cursief is.
BOOL IsItalic() const;
Retourwaarde
Niet-nul als het geselecteerde lettertype het cursieve kenmerk heeft ingeschakeld; anders 0.
Example
// 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
Roep deze functie aan om te bepalen of het geselecteerde lettertype wordt weergegeven met doorhalen.
BOOL IsStrikeOut() const;
Retourwaarde
Niet-nul als het geselecteerde lettertype het kenmerk Strikeout heeft ingeschakeld; anders 0.
Example
// 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
Roep deze functie aan om te bepalen of het geselecteerde lettertype is onderstreept.
BOOL IsUnderline() const;
Retourwaarde
Niet-nul als het geselecteerde lettertype het kenmerk Onderstrepen heeft ingeschakeld; anders 0.
Example
// 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
Een structuur waarvan leden de kenmerken van het dialoogvensterobject opslaan.
CHOOSEFONT m_cf;
Opmerkingen
Nadat u een CFontDialog object hebt gemaakt, kunt m_cf u verschillende aspecten van het dialoogvenster wijzigen voordat u de DoModal lidfunctie aanroept. Zie CHOOSEFONT in de Windows SDK voor meer informatie over deze structuur.
Example
// 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();
}
Zie ook
MFC-voorbeeld HIERSVR
CCommonDialog-klasse
Hiërarchiegrafiek