Compartilhar via


Classe CFontDialog

Permite que você incorpore uma caixa de diálogo de seleção de fonte ao aplicativo.

Sintaxe

class CFontDialog : public CCommonDialog

Membros

Construtores públicos

Nome Descrição
CFontDialog::CFontDialog Constrói um objeto CFontDialog.

Métodos públicos

Nome Descrição
CFontDialog::DoModal Exibe a caixa de diálogo e permite que o usuário faça uma seleção.
CFontDialog::GetCharFormat Recupera a formatação de caracteres da fonte selecionada.
CFontDialog::GetColor Retorna a cor da fonte selecionada.
CFontDialog::GetCurrentFont Atribui as características da fonte selecionada no momento a uma estrutura LOGFONT.
CFontDialog::GetFaceName Retorna o nome de título da fonte selecionada.
CFontDialog::GetSize Retorna o tamanho do ponto da fonte selecionada.
CFontDialog::GetStyleName Retorna o nome do estilo da fonte selecionada.
CFontDialog::GetWeight Retorna o peso da fonte selecionada.
CFontDialog::IsBold Determina se a fonte está em negrito.
CFontDialog::IsItalic Determina se a fonte está em itálico.
CFontDialog::IsStrikeOut Determina se a fonte é exibida com riscado.
CFontDialog::IsUnderline Determina se a fonte está sublinhada.

Membros de Dados Públicos

Nome Descrição
CFontDialog::m_cf Uma estrutura usada para personalizar um objeto CFontDialog.

Comentários

Um objeto CFontDialog é uma caixa de diálogo com uma lista de fontes que estão instaladas no sistema. O usuário pode selecionar uma fonte específica na lista e essa seleção será informada ao aplicativo.

Para construir um objeto CFontDialog, use o construtor fornecido ou derive uma nova subclasse e use seu construtor personalizado.

Após um objeto CFontDialog ser construído, você poderá usar a estrutura m_cf para inicializar os valores ou estados dos controles na caixa de diálogo. A estrutura m_cf é do tipo CHOOSEFONT. Para obter mais informações sobre essa estrutura, confira o SDK do Windows.

Depois de inicializar os controles do objeto de caixa de diálogo, chame a função membro DoModal para exibir a caixa de diálogo e permitir que o usuário selecione uma fonte. DoModal retorna se o usuário selecionou o botão OK (IDOK) ou Cancelar (IDCANCEL).

Se DoModal retornar IDOK, você poderá usar uma das funções membro de CFontDialog para recuperar as informações fornecidas pelo usuário.

É possível usar a função CommDlgExtendedError do Windows para determinar se ocorreu um erro durante a inicialização da caixa de diálogo e para saber mais sobre o erro. Para obter mais informações sobre essa função, confira o SDK do Windows.

CFontDialog depende do arquivo COMMDLG.DLL que é fornecido com as versões 3.1 e posteriores do Windows.

Para personalizar a caixa de diálogo, derive uma classe de CFontDialog, forneça um modelo de caixa de diálogo personalizado e adicione um mapa de mensagens para processar as mensagens de notificação dos controles estendidos. Todas as mensagens não processadas devem ser passadas para a classe base.

A personalização da função de gancho não é necessária.

Para obter mais informações sobre como usar CFontDialog, confira Classes de diálogo comuns.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

CFontDialog

Requisitos

Cabeçalho: afxdlgs.h

CFontDialog::CFontDialog

Constrói um objeto 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);

Parâmetros

plfInitial
Um ponteiro para uma estrutura de dados LOGFONT que lhe permite definir algumas características da fonte.

charFormat
Um ponteiro para uma estrutura de dados CHARFORMAT que lhe permite definir algumas características da fonte em um controle de edição avançada.

dwFlags
Especifica um ou mais sinalizadores de escolha de fonte. Um ou mais valores predefinidos podem ser combinados usando o operador bit a bit OR. Se você modificar o membro da estrutura m_cf.Flag, certifique-se de usar um operador bit a bit OR em suas alterações para manter o comportamento padrão intacto. Para obter detalhes sobre cada um desses sinalizadores, consulte a descrição da estrutura CHOOSEFONT no SDK do Windows.

pdcPrinter
Um ponteiro para um contexto de dispositivo de impressão. Se fornecido, esse parâmetro apontará para um contexto de dispositivo de impressão para a impressora na qual as fontes serão selecionadas.

pParentWnd
Um ponteiro para a janela pai ou proprietária da caixa de diálogo da fonte.

Comentários

Observe que o construtor preenche automaticamente os membros da estrutura CHOOSEFONT. Você só deve alterar isso se quiser um diálogo de fonte diferente do padrão.

Observação

A primeira versão dessa função só existe quando não há suporte para controle de edição com formato.

Exemplo

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

Chame essa função para exibir a caixa de diálogo de fontes comum do Windows e permitir que o usuário escolha uma fonte.

virtual INT_PTR DoModal();

Valor de retorno

IDOK ou IDCANCEL. Se IDCANCEL for retornado, chame a função CommDlgExtendedError do Windows para determinar se ocorreu um erro.

IDOK e IDCANCEL são constantes que indicam se o usuário selecionou o botão OK ou Cancelar.

Comentários

Se você quiser inicializar os vários controles da caixa de diálogo de fonte definindo membros da estrutura m_cf, faça isso antes de chamar DoModal, mas depois que o objeto de caixa de diálogo for construído.

Se retornar DoModal, você poderá chamar outras funções membro para recuperar as configurações ou a entrada de informações do usuário na caixa de diálogo.

Exemplo

Consulte os exemplos de CFontDialog::CFontDialog e CFontDialog::GetColor.

CFontDialog::GetCharFormat

Recupera a formatação de caracteres da fonte selecionada.

void GetCharFormat(CHARFORMAT& cf) const;

Parâmetros

cf
Uma estrutura CHARFORMAT que contém informações sobre a formatação de caracteres da fonte selecionada.

CFontDialog::GetColor

Chame essa função para recuperar a cor da fonte selecionada.

COLORREF GetColor() const;

Valor de retorno

A cor da fonte selecionada.

Exemplo

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

Chame essa função para atribuir as características da fonte selecionada aos membros de uma estrutura LOGFONT.

void GetCurrentFont(LPLOGFONT lplf);

Parâmetros

lplf
Um ponteiro para uma estrutura LOGFONT.

Comentários

Outras funções membro CFontDialog são fornecidas para acessar características individuais da fonte atual.

Se essa função for chamada durante uma chamada a DoModal, ela retornará a seleção atual (o que o usuário vê ou alterou na caixa de diálogo). Se essa função for chamada após uma chamada para DoModal (somente se DoModal retornar IDOK), ela retornará o que o usuário realmente selecionou.

Exemplo

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

Chame essa função para recuperar o nome de título da fonte selecionada.

CString GetFaceName() const;

Valor de retorno

O nome de título da fonte selecionada na caixa de diálogo CFontDialog.

Exemplo

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

Chame essa função para recuperar o tamanho da fonte selecionada.

int GetSize() const;

Valor de retorno

O tamanho da fonte, em décimos de um ponto.

Exemplo

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

Chame essa função para recuperar o nome do estilo da fonte selecionada.

CString GetStyleName() const;

Valor de retorno

O nome do estilo da fonte.

Exemplo

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

Chame essa função para recuperar o peso da fonte selecionada.

int GetWeight() const;

Valor de retorno

O peso da fonte selecionada.

Comentários

Para obter mais informações sobre o peso de uma fonte, consulte CFont::CreateFont.

Exemplo

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

Chame essa função para determinar se a fonte selecionada está em negrito.

BOOL IsBold() const;

Valor de retorno

Diferente de zero se a fonte selecionada tiver a característica de negrito habilitada; caso contrário, 0.

Exemplo

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

Chame essa função para determinar se a fonte selecionada está em itálico.

BOOL IsItalic() const;

Valor de retorno

Diferente de zero se a fonte selecionada tiver a característica de itálico habilitada; caso contrário, 0.

Exemplo

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

Chame essa função para determinar se a fonte selecionada é exibida com riscado.

BOOL IsStrikeOut() const;

Valor de retorno

Diferente de zero se a fonte selecionada tiver a característica de riscado habilitada; caso contrário, 0.

Exemplo

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

Chame essa função para determinar se a fonte selecionada está sublinhada.

BOOL IsUnderline() const;

Valor de retorno

Diferente de zero se a fonte selecionada tiver a característica de sublinhado habilitada; caso contrário, 0.

Exemplo

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

Uma estrutura cujos membros armazenam as características do objeto de caixa de diálogo.

CHOOSEFONT m_cf;

Comentários

Depois de construir um objeto CFontDialog, você poderá usar m_cf para modificar vários aspectos da caixa de diálogo antes de chamar a função membro DoModal. Para obter mais informações sobre essa estrutura, confira CHOOSEFONT no SDK do Windows.

Exemplo

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

Confira também

HIERSVR de exemplo do MFC
Classe CCommonDialog
Gráfico da hierarquia