Klasa CMFCToolBarFontComboBox
Przycisk paska narzędzi zawierający kontrolkę pola kombi, która umożliwia użytkownikowi wybranie czcionki z listy czcionek systemowych.
Składnia
class CMFCToolBarFontComboBox : public CMFCToolBarComboBoxButton
Elementy członkowskie
Konstruktory chronione
Nazwa/nazwisko | opis |
---|---|
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox | CMFCToolBarFontComboBox Tworzy obiekt. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCToolBarFontComboBox::GetFontDesc | Zwraca wskaźnik do CMFCFontInfo obiektu dla określonego indeksu w polu kombi. |
CMFCToolBarFontComboBox::SetFont | Wybiera czcionkę w polu kombi czcionki zgodnie z nazwą czcionki lub prefiksem i zestawem znaków czcionki. |
Składowe danych
CMFCToolBarFontComboBox::m_nFontHeight
Wysokość znaków w polu kombi czcionki.
Uwagi
Aby dodać przycisk pola kombi czcionki do paska narzędzi, wykonaj następujące kroki:
Zarezerwuj fikcyjny identyfikator zasobu dla przycisku w zasobie nadrzędnego paska narzędzi.
Konstruowanie
CMFCToolBarFontComboBox
obiektu.W procedurze obsługi komunikatów, która przetwarza komunikat AFX_WM_RESETTOOLBAR, zastąp oryginalny przycisk nowym polem kombi za pomocą CMFCToolBar::ReplaceButton.
Zsynchronizuj czcionkę wybraną w polu kombi z czcionką w dokumencie przy użyciu metody CMFCToolBarFontComboBox::SetFont .
Aby zsynchronizować czcionkę dokumentu z czcionką wybraną w polu kombi, użyj metody CMFCToolBarFontComboBox::GetFontDesc , aby pobrać atrybuty wybranej czcionki i użyć tych atrybutów do utworzenia obiektu klasy CFont.
Przycisk pola kombi czcionki wywołuje funkcję Win32 EnumFontFamiliesEx , aby określić czcionki ekranu i drukarki dostępne dla systemu.
Hierarchia dziedziczenia
Wymagania
Nagłówek: afxtoolbarfontcombobox.h
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox
Tworzy obiekt 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();
Parametry
identyfikator uiID
[in] Identyfikator polecenia pola kombi.
iImage
[in] Indeks na podstawie zera obrazu paska narzędzi. Obraz znajduje się w obiekcie klasy CMFCToolBarImages, który obsługuje klasa CMFCToolBar.
nFontType
[in] Typy czcionek, które zawiera pole kombi. Ten parametr może być kombinacją (wartość logiczna OR) następujących wartości:
DEVICE_FONTTYPE
RASTER_FONTTYPE
TRUETYPE_FONTTYPE
nCharSet
[in] Jeśli ustawiono wartość DEFAULT_CHARSET, pole kombi zawiera wszystkie unikatowo nazwane czcionki we wszystkich zestawach znaków. (Jeśli istnieją dwie czcionki o tej samej nazwie, pole kombi zawiera jedną z nich). Jeśli ustawiono prawidłową wartość zestawu znaków, pole kombi zawiera tylko czcionki w określonym zestawie znaków. Zobacz LOGFONT , aby zapoznać się z listą możliwych zestawów znaków.
dwStyle
[in] Styl pola kombi. (zobacz Style pola kombi)
iWidth
[in] Szerokość w pikselach kontrolki edycji.
nPitchAndFamily
[in] Jeśli ustawiono wartość DEFAULT_PITCH, pole kombi zawiera czcionki niezależnie od wartości pitch. Jeśli ustawiono wartość FIXED_PITCH lub VARIABLE_PITCH, pole kombi zawiera tylko czcionki o tym typie skoku. Filtrowanie na podstawie rodziny czcionek nie jest obecnie obsługiwane.
pLstFontsExternal
[out] Wskaźnik do obiektu klasy CObList, który przechowuje dostępne czcionki.
Uwagi
CMFCToolBarFontComboBox
Zazwyczaj obiekty przechowują listę dostępnych czcionek w jednym obiekcie udostępnionymCObList
. Jeśli używasz drugiego przeciążenia konstruktora i podasz prawidłowy wskaźnik pLstFontsExternal, ten CMFCToolBarFontComboBox
obiekt wypełni CObList
te punkty pLstFontsExternal dostępnymi czcionkami.
Przykład
W poniższym przykładzie pokazano, jak utworzyć CMFCToolBarFontComboBox
obiekt. Ten fragment kodu jest częścią przykładu okienka word.
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
Zwraca wskaźnik do CMFCFontInfo
obiektu dla określonego indeksu w polu kombi.
const CMFCFontInfo* GetFontDesc(int iIndex=-1) const;
Parametry
iIndex
[in] Określa indeks zerowy elementu pola kombi.
Wartość zwracana
Wskaźnik do CMFCFontInfo
obiektu. Jeśli indeks iIndex nie określi prawidłowego indeksu elementu, zwracana wartość ma wartość NULL.
CMFCToolBarFontComboBox::m_nFontHeight
Określa wysokość w pikselach znaków w polu kombi czcionki, jeśli pole kombi ma styl rysowania właściciela.
static int m_nFontHeight
Uwagi
Jeśli zmienna m_nFontHeight
ma wartość 0, wysokość jest obliczana automatycznie zgodnie z domyślną czcionką pola kombi. Wysokość obejmuje zarówno wzrost znaków powyżej punktu odniesienia, jak i spadek znaków poniżej punktu odniesienia.
CMFCToolBarFontComboBox::SetFont
Wybiera czcionkę w polu kombi czcionki zgodnie z nazwą czcionki i zestawem znaków określonym w parametrach.
BOOL SetFont(
LPCTSTR lpszName,
BYTE nCharSet=DEFAULT_CHARSET,
BOOL bExact=FALSE);
Parametry
lpszName
[in] Określa nazwę czcionki lub prefiks.
nCharSet
[in] Określa zestaw znaków.
bExact
[in] Określa, czy lpszName zawiera nazwę czcionki, czy prefiks czcionki.
Wartość zwracana
Niezero, jeśli czcionka została wybrana pomyślnie; w przeciwnym razie 0.
Uwagi
Jeśli wartość bExact ma wartość TRUE, ta metoda wybiera czcionkę, która dokładnie odpowiada nazwie określonej jako lpszName. Jeśli bExact ma wartość FALSE, ta metoda wybiera czcionkę rozpoczynającą się od tekstu określonego jako lpszName i używającego zestawu znaków określonego jako nCharSet. Jeśli dla parametru nCharSet ustawiono wartość DEFAULT_CHARSET, zestaw znaków zostanie zignorowany i zostanie użyty tylko parametr lpszName do wybrania czcionki.
Zobacz też
Wykres hierarchii
Klasy
Klasa CMFCToolBar
Klasa CMFCToolBarButton
Klasa CMFCToolBarComboBoxButton
Klasa CMFCFontInfo
CMFCToolBar::ReplaceButton
Przewodnik: umieszczanie kontrolek na paskach narzędzi