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 CFontDialog
fonctions 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
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