Partilhar via


Classe CMFCToolBarFontComboBox

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.

Um botão de barra de ferramentas que contém um controlo de combo box que permite ao utilizador selecionar uma fonte a partir de uma lista de fontes do sistema.

Sintaxe

class CMFCToolBarFontComboBox : public CMFCToolBarComboBoxButton

Membros

Construtores Protegidos

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

Métodos Públicos

Nome Description
CMFCToolBarFontComboBox::GetFontDesc Devolve um ponteiro para o CMFCFontInfo objeto para um índice especificado na caixa combinada.
CMFCToolBarFontComboBox::SetFont Seleciona uma fonte na caixa de combinação de fontes de acordo com o nome da fonte ou o prefixo e conjunto de caracteres da fonte.

Membros de Dados

CMFCToolBarFontComboBox::m_nFontHeight
A altura dos caracteres na caixa combinada de letras.

Observações

Para adicionar um botão de caixa de combinação de fontes a uma barra de ferramentas, siga estes passos:

  1. Reserve um ID de recurso fictício para o botão no recurso da barra de ferramentas dos pais.

  2. Constrói um CMFCToolBarFontComboBox objeto.

  3. No manipulador de mensagens que processa a mensagem AFX_WM_RESETTOOLBAR, substitua o botão original pelo novo botão de combo box usando o CMFCToolBar::ReplaceButton.

  4. Sincronize a fonte selecionada na caixa de combo com a fonte do documento usando o método CMFCToolBarFontComboBox::SetFont .

Para sincronizar a fonte do documento com a fonte selecionada na caixa combinada, use o método CMFCToolBarFontComboBox::GetFontDesc para recuperar os atributos da fonte selecionada e use esses atributos para criar um objeto de Classe CFont .

O botão da caixa de combinação de fontes chama a função Win32 EnumFontFamiliesEx para determinar as fontes de ecrã e impressora disponíveis para o sistema.

Hierarquia de herança

CObject

CMFCToolBarButton

CMFCToolBarComboBoxButton

CMFCToolBarFontComboBox

Requerimentos

Cabeçalho: afxtoolbarfontcombobox.h

CMFCToolBarFontComboBox::CMFCToolBarFontComboBox

Constrói um objeto CMFCToolBarFontComboBox .

public:
CMFCToolBarFontComboBox(
    UINT uiID,
    int iImage,
    int nFontType = DEVICE_FONTTYPE | RASTER_FONTTYPE | TRUETYPE_FONTTYPE,
    BYTE nCharSet = DEFAULT_CHARSET,
    DWORD dwStyle = CBS_DROPDOWN,
    int iWidth = 0,
    BYTE nPitchAndFamily = DEFAULT_PITCH);

protected:
CMFCToolBarFontComboBox(
    CObList* pLstFontsExternal,
    int nFontType,
    BYTE nCharSet,
    BYTE nPitchAndFamily);

CMFCToolBarFontComboBox();

Parâmetros

uiID
[dentro] O ID do comando da caixa de combo.

iImage
[dentro] O índice baseado em zero de uma imagem de barra de ferramentas. A imagem está localizada no objeto de classe CMFCToolBarImages que a classe CMFCToolBar mantém.

nFontType
[dentro] Os tipos de fontes que a caixa combo contém. Este parâmetro pode ser uma combinação (OR booleana) dos seguintes valores:

DEVICE_FONTTYPE

RASTER_FONTTYPE

TRUETYPE_FONTTYPE

nCharSet
[dentro] Se definido para DEFAULT_CHARSET, a caixa de combo contém todas as fontes com nomes únicos em todos os conjuntos de caracteres. (Se houver duas fontes com o mesmo nome, a caixa combo contém uma delas.) Se definido para um valor válido de conjunto de caracteres, a caixa combo contém apenas fontes no conjunto de caracteres especificado. Consulte LOGFONT para uma lista de possíveis conjuntos de caracteres.

dwStyle
[dentro] O estilo da caixa combinada. (ver Combo-Box Styles)

iLargura
[dentro] A largura em pixels do controlo de edição.

nPitchAndFamily
[dentro] Se definido para DEFAULT_PITCH, a caixa de combo contém fontes independentemente do tom. Se definido para FIXED_PITCH ou VARIABLE_PITCH, a caixa de combo contém apenas fontes com esse tipo de pitch. A filtragem baseada na família de fontes não é atualmente suportada.

pLstFontsExternal
[fora] Apontar para um objeto Classe CObList que armazena as fontes disponíveis.

Observações

Normalmente, CMFCToolBarFontComboBox os objetos armazenam a lista de fontes disponíveis num único objeto partilhado CObList . Se usares a segunda sobrecarga do construtor e forneceres um ponteiro válido para pLstFontsExternal, esse CMFCToolBarFontComboBox objeto irá preencher o CObList que pLstFontsExternal aponta com fontes disponíveis.

Example

O exemplo seguinte demonstra como construir um CMFCToolBarFontComboBox objeto. Este excerto de código faz parte do exemplo do Word Pad.

CMFCToolBarFontComboBox *CFormatBar::CreateFontComboButton()
{
   // CSize m_szBaseUnits
   return new CMFCToolBarFontComboBox(IDC_FONTNAME,
                                      GetCmdMgr()->GetCmdImage(IDC_FONTNAME, FALSE),
                                      TRUETYPE_FONTTYPE | DEVICE_FONTTYPE,
                                      DEFAULT_CHARSET,
                                      WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN |
                                          CBS_AUTOHSCROLL | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED,
                                      (3 * LF_FACESIZE * m_szBaseUnits.cx) / 2);
}

CMFCToolBarFontComboBox::GetFontDesc

Devolve um ponteiro para o CMFCFontInfo objeto para um índice especificado na caixa combinada.

const CMFCFontInfo* GetFontDesc(int iIndex=-1) const;

Parâmetros

iIndex
[dentro] Especifica o índice em base zero de um item de caixa combinada.

Valor de retorno

Um ponteiro para um CMFCFontInfo objeto. Se o iIndex não especificar um índice de itens válido, o valor de retorno é NULL.

CMFCToolBarFontComboBox::m_nFontHeight

Especifica a altura, em pixels, dos caracteres na caixa de combo, se a caixa de combo tiver estilo de desenho proprietário.

static int m_nFontHeight

Observações

Se a m_nFontHeight variável for 0, a altura é calculada automaticamente de acordo com a fonte padrão da caixa de combo. A altura inclui tanto a subida dos caracteres acima da linha de base como a descida dos caracteres por baixo da linha de base.

CMFCToolBarFontComboBox::SetFont

Seleciona a fonte na caixa de combinação de fontes de acordo com o nome da fonte e o conjunto de caracteres especificados nos parâmetros.

BOOL SetFont(
    LPCTSTR lpszName,
    BYTE nCharSet=DEFAULT_CHARSET,
    BOOL bExact=FALSE);

Parâmetros

lpszName
[dentro] Especifica o nome ou prefixo da fonte.

nCharSet
[dentro] Especifica o conjunto de caracteres.

bExato
[dentro] Especifica se lpszName contém o nome da fonte ou o prefixo da fonte.

Valor de retorno

Não nulo se a fonte for selecionada com sucesso; caso contrário, 0.

Observações

Se bExact for TRUE, este método seleciona uma fonte que corresponde exatamente ao nome que especificaste como lpszName. Se bExact for FALSE, este método seleciona uma fonte que começa com o texto especificado como lpszName e que usa o conjunto de caracteres que especificaste como nCharSet. Se o nCharSet estiver definido para DEFAULT_CHARSET, o conjunto de caracteres será ignorado e apenas lpszName será usado para selecionar uma fonte.

Consulte também

Gráfico de Hierarquia
Classes
Classe CMFCToolBar
Classe CMFCToolBarButton
Classe CMFCToolBarComboBoxButton
Classe CMFCFontInfo
CMFCToolBar::ReplaceButton
Guia: Colocar Controlos nas Barras de Ferramentas