Condividi tramite


Classe CFontDialog

Consente di incorporare una finestra di dialogo di selezione dei tipi di carattere nell'applicazione.

Sintassi

class CFontDialog : public CCommonDialog

Membri

Costruttori pubblici

Nome Descrizione
CFontDialog::CFontDialog Costruisce un oggetto CFontDialog.

Metodi pubblici

Nome Descrizione
CFontDialog::D oModal Visualizza la finestra di dialogo e consente all'utente di effettuare una selezione.
CFontDialog::GetCharFormat Recupera la formattazione dei caratteri del tipo di carattere selezionato.
CFontDialog::GetColor Restituisce il colore del tipo di carattere selezionato.
CFontDialog::GetCurrentFont Assegna le caratteristiche del tipo di carattere attualmente selezionato a una LOGFONT struttura.
CFontDialog::GetFaceName Restituisce il nome del viso del tipo di carattere selezionato.
CFontDialog::GetSize Restituisce la dimensione del punto del tipo di carattere selezionato.
CFontDialog::GetStyleName Restituisce il nome dello stile del tipo di carattere selezionato.
CFontDialog::GetWeight Restituisce lo spessore del tipo di carattere selezionato.
CFontDialog::IsBold Determina se il tipo di carattere è in grassetto.
CFontDialog::IsItalic Determina se il tipo di carattere è in corsivo.
CFontDialog::IsStrikeOut Determina se il tipo di carattere viene visualizzato con barrato.
CFontDialog::IsUnderline Determina se il tipo di carattere è sottolineato.

Membri dati pubblici

Nome Descrizione
CFontDialog::m_cf Struttura utilizzata per personalizzare un CFontDialog oggetto.

Osservazioni:

Un CFontDialog oggetto è una finestra di dialogo con un elenco di tipi di carattere attualmente installati nel sistema. L'utente può selezionare un tipo di carattere specifico dall'elenco e questa selezione viene quindi segnalata all'applicazione.

Per costruire un CFontDialog oggetto, usare il costruttore fornito o derivare una nuova sottoclasse e usare il proprio costruttore personalizzato.

Una volta costruito un CFontDialog oggetto, è possibile utilizzare la m_cf struttura per inizializzare i valori o gli stati dei controlli nella finestra di dialogo. La struttura m_cf è di tipo CHOOSEFONT. Per altre informazioni su questa struttura, vedere Windows SDK.

Dopo aver inizializzato i controlli dell'oggetto finestra di dialogo, chiamare la DoModal funzione membro per visualizzare la finestra di dialogo e consentire all'utente di selezionare un tipo di carattere. DoModal restituisce un valore che indica se l'utente ha selezionato il pulsante OK (IDOK) o Annulla (IDCANCEL).

Se DoModal restituisce IDOK, è possibile usare una delle CFontDialogfunzioni membro di per recuperare l'input delle informazioni dall'utente.

È possibile utilizzare la funzione Windows CommDlgExtendedError per determinare se si è verificato un errore durante l'inizializzazione della finestra di dialogo e per altre informazioni sull'errore. Per altre informazioni su questa funzione, vedere Windows SDK.

CFontDialog si basa sul file COMMDLG.DLL fornito con Windows 3.1 e versioni successive.

Per personalizzare la finestra di dialogo, derivare una classe da CFontDialog, fornire un modello di finestra di dialogo personalizzato e aggiungere una mappa messaggi per elaborare i messaggi di notifica dai controlli estesi. Tutti i messaggi non elaborati devono essere passati alla classe base.

La personalizzazione della funzione hook non è necessaria.

Per altre informazioni sull'uso CFontDialogdi , vedere Classi di dialoghi comuni.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

CFontDialog

Requisiti

Intestazione: afxdlgs.h

CFontDialog::CFontDialog

Costruisce un oggetto 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);

Parametri

plfInitial
Puntatore a una struttura di dati LOGFONT che consente di impostare alcune delle caratteristiche del tipo di carattere.

charFormat
Puntatore a una struttura di dati CHARFORMAT che consente di impostare alcune delle caratteristiche del tipo di carattere in un controllo di modifica avanzato.

dwFlags
Specifica uno o più flag di scelta del tipo di carattere. È possibile combinare valori preimpostati usando l'operatore OR bit per bit. Se si modifica il membro della struttura m_cf.Flags, verificare di usare un operatore OR bit per bit nelle modifiche per mantenere l'integrità del comportamento predefinito. Per informazioni dettagliate su ognuno di questi flag, vedere la descrizione della struttura CHOOSEFONT in Windows SDK.

pdcPrinter
Un puntatore a un contesto di dispositivo stampante. Se fornito, questo parametro punta a un contesto di dispositivo stampante per la stampante in cui devono essere selezionati i tipi di carattere.

pParentWnd
Un puntatore alla finestra padre o proprietaria della finestra di dialogo del tipo di carattere.

Osservazioni:

Si noti che il costruttore riempie automaticamente i membri della struttura CHOOSEFONT, che devono essere modificati solo se la finestra di dialogo del tipo di carattere deve essere diversa da quella predefinita.

Nota

La prima versione di questa funzione esiste solo quando non è presente alcun supporto del controllo Rich Edit.

Esempio

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

Chiamare questa funzione per visualizzare la finestra di dialogo Tipo di carattere comune di Windows e consentire all'utente di scegliere un tipo di carattere.

virtual INT_PTR DoModal();

Valore restituito

IDOK o IDCANCEL. Se viene restituito IDCANCEL, chiamare la funzione Windows CommDlgExtendedError per determinare se si è verificato un errore.

IDOK e IDCANCEL sono costanti che indicano se l'utente ha selezionato il pulsante OK o Annulla.

Osservazioni:

Se si desidera inizializzare i vari controlli della finestra di dialogo dei tipi di carattere impostando i membri della struttura m_cf , è necessario eseguire questa operazione prima di chiamare DoModal, ma dopo la costruzione dell'oggetto dialogo.

Se DoModal restituisce IDOK, è possibile chiamare altre funzioni membro per recuperare le impostazioni o l'input di informazioni da parte dell'utente nella finestra di dialogo.

Esempio

Vedere gli esempi per CFontDialog::CFontDialog e CFontDialog::GetColor.

CFontDialog::GetCharFormat

Recupera la formattazione dei caratteri del tipo di carattere selezionato.

void GetCharFormat(CHARFORMAT& cf) const;

Parametri

cfr
Struttura CHARFORMAT contenente informazioni sulla formattazione dei caratteri del tipo di carattere selezionato.

CFontDialog::GetColor

Chiamare questa funzione per recuperare il colore del carattere selezionato.

COLORREF GetColor() const;

Valore restituito

Colore del tipo di carattere selezionato.

Esempio

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

Chiamare questa funzione per assegnare le caratteristiche del tipo di carattere attualmente selezionato ai membri di una struttura LOGFONT .

void GetCurrentFont(LPLOGFONT lplf);

Parametri

lplf
Puntatore a una LOGFONT struttura.

Osservazioni:

Vengono fornite altre CFontDialog funzioni membro per accedere alle singole caratteristiche del tipo di carattere corrente.

Se questa funzione viene chiamata durante una chiamata a DoModal, restituisce la selezione corrente al momento (ciò che l'utente vede o è stato modificato nella finestra di dialogo). Se questa funzione viene chiamata dopo una chiamata a DoModal (solo se DoModal restituisce IDOK), restituisce ciò che l'utente ha effettivamente selezionato.

Esempio

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

Chiamare questa funzione per recuperare il nome del viso del tipo di carattere selezionato.

CString GetFaceName() const;

Valore restituito

Nome del carattere selezionato nella CFontDialog finestra di dialogo.

Esempio

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

Chiamare questa funzione per recuperare le dimensioni del tipo di carattere selezionato.

int GetSize() const;

Valore restituito

Dimensioni del carattere, in decimi di un punto.

Esempio

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

Chiamare questa funzione per recuperare il nome dello stile del tipo di carattere selezionato.

CString GetStyleName() const;

Valore restituito

Nome dello stile del tipo di carattere.

Esempio

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

Chiamare questa funzione per recuperare lo spessore del tipo di carattere selezionato.

int GetWeight() const;

Valore restituito

Spessore del tipo di carattere selezionato.

Osservazioni:

Per altre informazioni sullo spessore di un tipo di carattere, vedere CFont::CreateFont.

Esempio

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

Chiamare questa funzione per determinare se il tipo di carattere selezionato è in grassetto.

BOOL IsBold() const;

Valore restituito

Diverso da zero se il tipo di carattere selezionato ha la caratteristica Grassetto abilitata; in caso contrario, 0.

Esempio

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

Chiamare questa funzione per determinare se il tipo di carattere selezionato è in corsivo.

BOOL IsItalic() const;

Valore restituito

Diverso da zero se per il tipo di carattere selezionato è abilitata la caratteristica Corsivo; in caso contrario, 0.

Esempio

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

Chiamare questa funzione per determinare se il tipo di carattere selezionato viene visualizzato con barrato.

BOOL IsStrikeOut() const;

Valore restituito

Diverso da zero se il tipo di carattere selezionato ha la caratteristica Strikeout abilitata; in caso contrario, 0.

Esempio

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

Chiamare questa funzione per determinare se il tipo di carattere selezionato è sottolineato.

BOOL IsUnderline() const;

Valore restituito

Diverso da zero se il tipo di carattere selezionato ha la caratteristica Sottolineato abilitata; in caso contrario, 0.

Esempio

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

Struttura i cui membri archiviano le caratteristiche dell'oggetto dialogo.

CHOOSEFONT m_cf;

Osservazioni:

Dopo aver costruito un CFontDialog oggetto, è possibile usare m_cf per modificare vari aspetti della finestra di dialogo prima di chiamare la DoModal funzione membro. Per altre informazioni su questa struttura, vedere CHOOSEFONT in Windows SDK.

Esempio

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

Vedi anche

HIERSVR di esempio MFC
Classe CCommonDialog
Grafico della gerarchia