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