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 CFontDialog
funzioni 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 CFontDialog
di , vedere Classi di dialoghi comuni.
Gerarchia di ereditarietà
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.Flag
s, 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