Partilhar via


Classe CFontDialog

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Permite-lhe incorporar uma caixa de diálogo de seleção de fontes na sua aplicação.

Sintaxe

class CFontDialog : public CCommonDialog

Membros

Construtores Públicos

Nome Description
CFontDialog::CFontDialog Constrói um CFontDialog objeto.

Métodos Públicos

Nome Description
CFontDialog::D oModal Mostra o diálogo e permite ao utilizador fazer uma seleção.
CFontDialog::GetCharFormat Recupera a formatação dos caracteres da fonte selecionada.
CFontDialog::GetColor Devolve a cor da fonte selecionada.
CFontDialog::GetCurrentFont Atribui as características da fonte atualmente selecionada a uma LOGFONT estrutura.
CFontDialog::GetFaceName Devolve o nome da fonte selecionada.
CFontDialog::GetSize Devolve o tamanho de pontos da fonte selecionada.
CFontDialog::GetStyleName Devolve o nome de estilo da fonte selecionada.
CFontDialog::GetWeight Devolve o peso da fonte selecionada.
CFontDialog::IsBold Determina se a fonte está a negrito.
CFontDialog::IsItalic Determina se a fonte é itálica.
CFontDialog::IsStrikeOut. Determina se a fonte é exibida com risca.
CFontDialog::IsUnderline Determina se a fonte está sublinhada.

Membros de Dados Públicos

Nome Description
CFontDialog::m_cf Uma estrutura usada para personalizar um CFontDialog objeto.

Observações

Um CFontDialog objeto é uma caixa de diálogo com uma lista de fontes que estão atualmente instaladas no sistema. O utilizador pode selecionar uma fonte específica da lista, e essa seleção é depois reportada à aplicação.

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

Depois de um CFontDialog objeto ter sido construído, pode usar a m_cf estrutura para inicializar os valores ou estados dos controlos na caixa de diálogo. A estrutura m_cf é do tipo CHOOSEFONT. Para obter mais informações sobre essa estrutura, consulte o SDK do Windows.

Após inicializar os controlos do objeto de diálogo, chame a DoModal função membro para mostrar a caixa de diálogo e permitir que o utilizador selecione uma fonte. DoModal retorna quer o utilizador tenha selecionado o botão OK (IDOK) ou Cancelar (IDCANCEL).

Se DoModal devolver IDOK, pode usar uma das CFontDialogfunções membros de S para recuperar a informação introduzida pelo utilizador.

Pode usar a função CommDlgExtendedError do Windows para determinar se ocorreu um erro durante a inicialização da caixa de diálogo e para aprender mais sobre o erro. Para mais informações sobre esta função, consulte o SDK do Windows.

CFontDialog depende do ficheiro COMMDLG.DLL que vem com as versões 3.1 do Windows e posteriores.

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

Não é necessário personalizar a função de gancho.

Para mais informações sobre a utilização CFontDialogde , veja Classes Comuns de Diálogo.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CDialog

CCommonDialog

CFontDialog

Requerimentos

Cabeçalho: afxdlgs.h

CFontDialog::CFontDialog

Constrói um CFontDialog objeto.

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 apontador para uma estrutura de dados LOGFONT que permite definir algumas das características da fonte.

charFormat
Um ponteiro para uma estrutura de dados CHARFORMAT que permite definir algumas das características da fonte num controlo de edição rico.

dwBandeiras
Especifica uma ou mais flags de escolha de fonte. Um ou mais valores prédefinidos podem ser combinados usando o operador OR bit a bit. Se modificares o m_cf.Flagmembro da estrutura s, certifica-te de usar um operador OR bit a bit nas tuas alterações para manter o comportamento padrão intacto. Para detalhes sobre cada uma destas bandeiras, consulte a descrição da estrutura CHOOSEFONT no SDK do Windows.

pdcPrinter
Um apontador para o contexto de um dispositivo de impressora. Se fornecido, este parâmetro aponta para um contexto de dispositivo de impressora para a impressora onde as fontes devem ser selecionadas.

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

Observações

Note que o construtor preenche automaticamente os elementos da CHOOSEFONT estrutura. Só deves mudar estas opções se quiseres um diálogo de fonte diferente do padrão.

Observação

A primeira versão desta função só existe quando não há suporte para controlo de edição rica.

Example

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

Chame esta função para mostrar a caixa de diálogo da fonte comum do Windows e permitir que o utilizador escolha uma fonte.

virtual INT_PTR DoModal();

Valor de retorno

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

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

Observações

Se quiser inicializar os vários controlos de diálogo de fontes definindo membros da estrutura m_cf , deve fazer isto antes de chamar DoModal, mas depois de o objeto de diálogo estar construído.

Se DoModal devolver IDOK, pode chamar outras funções membros para recuperar as definições ou informações introduzidas pelo utilizador na caixa de diálogo.

Example

Veja os exemplos para CFontDialog::CFontDialog e CFontDialog::GetColor.

CFontDialog::GetCharFormat

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

void GetCharFormat(CHARFORMAT& cf) const;

Parâmetros

cf
Uma estrutura CHARFORMAT contendo informações sobre a formatação do carácter da fonte selecionada.

CFontDialog::GetColor

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

COLORREF GetColor() const;

Valor de retorno

A cor da fonte selecionada.

Example

// 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 esta função para atribuir as características da fonte atualmente selecionada aos membros de uma estrutura LOGFONT .

void GetCurrentFont(LPLOGFONT lplf);

Parâmetros

lplf
Um ponteiro para uma LOGFONT estrutura.

Observações

Outras CFontDialog funções dos membros são fornecidas para aceder a características individuais da fonte atual.

Se esta função for chamada durante uma chamada ao DoModal, devolve a seleção atual no momento (o que o utilizador vê ou alterou no diálogo). Se esta função for chamada após uma chamada a DoModal (apenas se DoModal devolver IDOK), devolve o que o utilizador realmente selecionou.

Example

// 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 esta função para recuperar o nome da fonte selecionada.

CString GetFaceName() const;

Valor de retorno

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

Example

// 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 esta função para recuperar o tamanho da fonte selecionada.

int GetSize() const;

Valor de retorno

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

Example

// 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 esta função para recuperar o nome do estilo da fonte selecionada.

CString GetStyleName() const;

Valor de retorno

O nome do estilo da fonte.

Example

// 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 esta função para recuperar o peso da fonte selecionada.

int GetWeight() const;

Valor de retorno

O peso da fonte selecionada.

Observações

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

Example

// 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 esta função para determinar se a fonte selecionada está a negrito.

BOOL IsBold() const;

Valor de retorno

Não nula se a fonte selecionada tiver a característica Negrito ativada; caso contrário, 0.

Example

// 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 esta função para determinar se a fonte selecionada está em itálico.

BOOL IsItalic() const;

Valor de retorno

Não nula se a fonte selecionada tiver a característica itálica ativada; caso contrário, 0.

Example

// 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 esta função para determinar se a fonte selecionada é exibida com risca.

BOOL IsStrikeOut() const;

Valor de retorno

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

Example

// 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 esta 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 Sublinhado ativada; caso contrário, 0.

Example

// 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 diálogo.

CHOOSEFONT m_cf;

Observações

Depois de construir um CFontDialog objeto, pode modificar m_cf vários aspetos da caixa de diálogo antes de chamar a DoModal função membro. Para mais informações sobre esta estrutura, veja CHOOSEFONT no SDK do Windows.

Example

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

Consulte também

Exemplo MFC HIERSVR
Classe CCommonDialog
Gráfico de Hierarquia