Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
Reserve um ID de recurso fictício para o botão no recurso da barra de ferramentas dos pais.
Constrói um
CMFCToolBarFontComboBoxobjeto.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.
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
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