CFontDialog, classe

Vous permet d’incorporer une boîte de dialogue de sélection de police dans votre application.

Syntaxe

class CFontDialog : public CCommonDialog

Membres

Constructeurs publics

Nom Description
CFontDialog ::CFontDialog Construit un objet CFontDialog.

Méthodes publiques

Nom Description
CFontDialog ::D oModal Affiche la boîte de dialogue et permet à l’utilisateur d’effectuer une sélection.
CFontDialog ::GetCharFormat Récupère la mise en forme des caractères de la police sélectionnée.
CFontDialog ::GetColor Retourne la couleur de la police sélectionnée.
CFontDialog ::GetCurrentFont Affecte les caractéristiques de la police actuellement sélectionnée à une LOGFONT structure.
CFontDialog ::GetFaceName Retourne le nom du visage de la police sélectionnée.
CFontDialog ::GetSize Retourne la taille de point de la police sélectionnée.
CFontDialog ::GetStyleName Retourne le nom de style de la police sélectionnée.
CFontDialog ::GetWeight Retourne le poids de la police sélectionnée.
CFontDialog ::IsBold Détermine si la police est en gras.
CFontDialog ::IsItalic Détermine si la police est italique.
CFontDialog ::IsStrikeOut Détermine si la police est affichée avec un barre d’attente.
CFontDialog ::IsUnderline Détermine si la police est soulignée.

Membres de données publics

Nom Description
CFontDialog ::m_cf Structure utilisée pour personnaliser un CFontDialog objet.

Notes

Un CFontDialog objet est une boîte de dialogue avec une liste de polices actuellement installées dans le système. L’utilisateur peut sélectionner une police particulière dans la liste, et cette sélection est ensuite renvoyée à l’application.

Pour construire un CFontDialog objet, utilisez le constructeur fourni ou dérivez une nouvelle sous-classe et utilisez votre propre constructeur personnalisé.

Une fois qu’un CFontDialog objet a été construit, vous pouvez utiliser la m_cf structure pour initialiser les valeurs ou les états des contrôles dans la boîte de dialogue. La structure m_cf est de type CHOOSEFONT. Pour plus d’informations sur cette structure, consultez le Kit de développement logiciel (SDK) Windows.

Après avoir initialisé les contrôles de l’objet de boîte de dialogue, appelez la DoModal fonction membre pour afficher la boîte de dialogue et autoriser l’utilisateur à sélectionner une police. DoModal retourne si l’utilisateur a sélectionné le bouton OK (IDOK) ou Annuler (IDCANCEL).

Si DoModal retourne IDOK, vous pouvez utiliser l’une des CFontDialogfonctions membres pour récupérer l’entrée d’informations par l’utilisateur.

Vous pouvez utiliser la fonction Windows CommDlgExtendedError pour déterminer si une erreur s’est produite lors de l’initialisation de la boîte de dialogue et pour en savoir plus sur l’erreur. Pour plus d’informations sur cette fonction, consultez le Kit de développement logiciel (SDK) Windows.

CFontDialog s’appuie sur le fichier COMMDLG.DLL fourni avec Windows versions 3.1 et ultérieures.

Pour personnaliser la boîte de dialogue, dérivez une classe de CFontDialog, fournissez un modèle de dialogue personnalisé et ajoutez une carte de messages pour traiter les messages de notification à partir des contrôles étendus. Tous les messages non traités doivent être passés à la classe de base.

La personnalisation de la fonction de hook n’est pas nécessaire.

Pour plus d’informations sur l’utilisation CFontDialog, consultez Classes de dialogue courantes.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

CFontDialog

Spécifications

En-tête : afxdlgs.h

CFontDialog ::CFontDialog

Construit un objet CFontDialog.

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

Paramètres

plfInitial
Pointeur vers une structure de données LOGFONT qui vous permet de définir certaines des caractéristiques de la police.

charFormat
Pointeur vers une structure de données CHARFORMAT qui vous permet de définir certaines des caractéristiques de la police dans un contrôle d’édition enrichi.

dwFlags
Spécifie un ou plusieurs indicateurs de choix de police. Une ou plusieurs valeurs prédéfinies peuvent être combinées à l'aide de l'opérateur de bits OR. Si vous changez le membre de structure de m_cf.Flag, veillez à utiliser un opérateur de bits OR dans les changements pour préserver le comportement par défaut. Pour plus d’informations sur chacun de ces indicateurs, consultez la description de la structure CHOOSEFONT dans le Kit de développement logiciel (SDK) Windows.

pdcPrinter
Pointeur vers un contexte de périphérique d'impression. Si ce paramètre est fourni, il pointe vers un contexte de périphérique d'impression pour l'imprimante sur laquelle les polices doivent être sélectionnées.

pParentWnd
Pointeur vers la fenêtre parente ou la fenêtre propriétaire de la boîte de dialogue de police.

Notes

Notez que le constructeur remplit automatiquement les membres de la structure CHOOSEFONT. Ne les modifiez que si vous souhaitez une autre boîte de dialogue de police que celle par défaut.

Remarque

La première version de cette fonction n'existe que s'il n'y a aucune prise en charge du contrôle RichEdit.

Exemple

// 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

Appelez cette fonction pour afficher la boîte de dialogue Police commune Windows et autoriser l’utilisateur à choisir une police.

virtual INT_PTR DoModal();

Valeur de retour

IDOK ou IDCANCEL. Si IDCANCEL est retourné, appelez la fonction Windows CommDlgExtendedError pour déterminer si une erreur s’est produite.

IDOK et IDCANCEL sont des constantes qui indiquent si l’utilisateur a sélectionné le bouton OK ou Annuler.

Notes

Si vous souhaitez initialiser les différents contrôles de boîte de dialogue de police en définissant les membres de la structure m_cf , vous devez le faire avant d’appeler DoModal, mais après la construction de l’objet de dialogue.

Si DoModal retourne IDOK, vous pouvez appeler d’autres fonctions membres pour récupérer les paramètres ou l’entrée d’informations par l’utilisateur dans la boîte de dialogue.

Exemple

Consultez les exemples de CFontDialog ::CFontDialog et CFontDialog ::GetColor.

CFontDialog ::GetCharFormat

Récupère la mise en forme des caractères de la police sélectionnée.

void GetCharFormat(CHARFORMAT& cf) const;

Paramètres

cf
Structure CHARFORMAT contenant des informations sur la mise en forme des caractères de la police sélectionnée.

CFontDialog ::GetColor

Appelez cette fonction pour récupérer la couleur de police sélectionnée.

COLORREF GetColor() const;

Valeur de retour

Couleur de la police sélectionnée.

Exemple

// 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

Appelez cette fonction pour affecter les caractéristiques de la police actuellement sélectionnée aux membres d’une structure LOGFONT .

void GetCurrentFont(LPLOGFONT lplf);

Paramètres

lplf
Pointeur vers une LOGFONT structure.

Notes

D’autres CFontDialog fonctions membres sont fournies pour accéder aux caractéristiques individuelles de la police actuelle.

Si cette fonction est appelée pendant un appel à DoModal, elle retourne la sélection actuelle à l’heure (ce que l’utilisateur voit ou a changé dans la boîte de dialogue). Si cette fonction est appelée après un appel à DoModal (uniquement si DoModal retourne IDOK), elle retourne ce que l’utilisateur a réellement sélectionné.

Exemple

// 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

Appelez cette fonction pour récupérer le nom du visage de la police sélectionnée.

CString GetFaceName() const;

Valeur de retour

Nom du visage de la police sélectionnée dans la CFontDialog boîte de dialogue.

Exemple

// 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

Appelez cette fonction pour récupérer la taille de la police sélectionnée.

int GetSize() const;

Valeur de retour

Taille de la police, en dixièmes d’un point.

Exemple

// 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

Appelez cette fonction pour récupérer le nom de style de la police sélectionnée.

CString GetStyleName() const;

Valeur de retour

Nom du style de la police.

Exemple

// 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

Appelez cette fonction pour récupérer le poids de la police sélectionnée.

int GetWeight() const;

Valeur de retour

Poids de la police sélectionnée.

Notes

Pour plus d’informations sur le poids d’une police, consultez CFont ::CreateFont.

Exemple

// 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

Appelez cette fonction pour déterminer si la police sélectionnée est en gras.

BOOL IsBold() const;

Valeur de retour

Différent de zéro si la police sélectionnée a la caractéristique Gras activée ; sinon 0.

Exemple

// 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

Appelez cette fonction pour déterminer si la police sélectionnée est italique.

BOOL IsItalic() const;

Valeur de retour

Différent de zéro si la police sélectionnée a la caractéristique italique activée ; sinon 0.

Exemple

// 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

Appelez cette fonction pour déterminer si la police sélectionnée est affichée avec une barre d’attente.

BOOL IsStrikeOut() const;

Valeur de retour

Différent de zéro si la police sélectionnée a la caractéristique Strikeout activée ; sinon 0.

Exemple

// 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

Appelez cette fonction pour déterminer si la police sélectionnée est soulignée.

BOOL IsUnderline() const;

Valeur de retour

Différent de zéro si la police sélectionnée a la caractéristique soulignement activée ; sinon 0.

Exemple

// 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

Structure dont les membres stockent les caractéristiques de l’objet de dialogue.

CHOOSEFONT m_cf;

Notes

Après avoir construit un CFontDialog objet, vous pouvez utiliser m_cf pour modifier différents aspects de la boîte de dialogue avant d’appeler la DoModal fonction membre. Pour plus d’informations sur cette structure, consultez CHOOSEFONT dans le Kit de développement logiciel (SDK) Windows.

Exemple

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

Voir aussi

Exemple MFC HIERSVR
CCommonDialog, classe
Graphique hiérarchique