Aracılığıyla paylaş


CMFCToolBarFontComboBox Sınıfı

Kullanıcının sistem yazı tipleri listesinden yazı tipi seçmesini sağlayan birleşik giriş kutusu denetimi içeren araç çubuğu düğmesi.

Sözdizimi

class CMFCToolBarFontComboBox : public CMFCToolBarComboBoxButton

Üyeler

Korumalı Oluşturucular

Veri Akışı Adı Açıklama
CMFCToolBarFontComboBox::CMFCToolBarFontComboBox Bir CMFCToolBarFontComboBox nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CMFCToolBarFontComboBox::GetFontDesc Birleşik giriş kutusunda belirtilen dizin için nesneye yönelik bir işaretçi CMFCFontInfo döndürür.
CMFCToolBarFontComboBox::SetFont Yazı tipi birleşik giriş kutusunda yazı tipinin adına veya yazı tipinin ön ekine ve karakter kümesine göre bir yazı tipi seçer.

Veri Üyeleri

CMFCToolBarFontComboBox::m_nFontHeight
Yazı tipi birleşik giriş kutusundaki karakterlerin yüksekliği.

Açıklamalar

Araç çubuğuna yazı tipi birleşik giriş kutusu düğmesi eklemek için şu adımları izleyin:

  1. Üst araç çubuğu kaynağındaki düğme için sahte bir kaynak kimliği ayırın.

  2. Nesne oluşturma CMFCToolBarFontComboBox .

  3. AFX_WM_RESETTOOLBAR iletisini işleyen ileti işleyicisinde, CMFCToolBar::ReplaceButton komutunu kullanarak özgün düğmeyi yeni birleşik giriş kutusu düğmesiyle değiştirin.

  4. CMFCToolBarFontComboBox::SetFont yöntemini kullanarak birleşik giriş kutusunda seçilen yazı tipini belgedeki yazı tipiyle eşitleyin.

Belgenin yazı tipini birleşik giriş kutusunda seçili yazı tipiyle eşitlemek için CMFCToolBarFontComboBox::GetFontDesc yöntemini kullanarak seçili yazı tipinin özniteliklerini alın ve bu öznitelikleri kullanarak bir CFont Sınıfı nesnesi oluşturun.

Yazı tipi birleşik giriş kutusu düğmesi, sistem için kullanılabilen ekran ve yazıcı yazı tiplerini belirlemek için Win32 işlevi EnumFontFamiliesEx'i çağırır.

Devralma Hiyerarşisi

CObject

CMFCToolBarButton

CMFCToolBarComboBoxButton

CMFCToolBarFontComboBox

Gereksinimler

Üst bilgi: afxtoolbarfontcombobox.h

CMFCToolBarFontComboBox::CMFCToolBarFontComboBox

CMFCToolBarFontComboBox nesnesi oluşturur.

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

Parametreler

uiID
[in] Birleşik giriş kutusunun komut kimliği.

iImage
[in] Araç çubuğu görüntüsünün sıfır tabanlı dizini. Görüntü, CMFCToolBar Sınıfı sınıfının koruduğu CMFCToolBarImages Sınıfı nesnesinde bulunur.

nFontType
[in] Birleşik giriş kutusunun içerdiği yazı tipi türleri. Bu parametre, aşağıdaki değerlerin bir bileşimi (boole VEYA) olabilir:

DEVICE_FONTTYPE

RASTER_FONTTYPE

TRUETYPE_FONTTYPE

nCharSet
[in] DEFAULT_CHARSET olarak ayarlanırsa, birleşik giriş kutusu tüm karakter kümelerindeki benzersiz olarak adlandırılmış tüm yazı tiplerini içerir. (Aynı ada sahip iki yazı tipi varsa birleşik giriş kutusu bunlardan birini içerir.) Geçerli bir karakter kümesi değerine ayarlanırsa birleşik giriş kutusu yalnızca belirtilen karakter kümesindeki yazı tiplerini içerir. Olası karakter kümelerinin listesi için bkz . LOGFONT .

dwStyle
[in] Birleşik giriş kutusunun stili. (bkz. Birleşik Giriş Kutusu Stilleri)

iWidth
[in] Düzenleme denetiminin piksel cinsinden genişliği.

nPitchAndFamily
[in] DEFAULT_PITCH olarak ayarlanırsa birleşik giriş kutusu, perdeden bağımsız olarak yazı tipleri içerir. FIXED_PITCH veya VARIABLE_PITCH olarak ayarlanırsa, birleşik giriş kutusu yalnızca söz dizi türüne sahip yazı tiplerini içerir. Yazı tipi ailesine göre filtreleme şu anda desteklenmiyor.

pLstFontsExternal
[out] Kullanılabilir yazı tiplerini depolayan bir CObList Sınıfı nesnesinin işaretçisi.

Açıklamalar

Nesneler genellikle CMFCToolBarFontComboBox kullanılabilir yazı tiplerinin listesini tek bir paylaşılan CObList nesnede depolar. Oluşturucunun ikinci aşırı yüklemesini kullanır ve pLstFontsExternal için geçerli bir işaretçi sağlarsanız, bu CMFCToolBarFontComboBox nesne bunun yerine bu pLstFontsExternal'ın işaret ettiğini kullanılabilir yazı tipleri ile doldururCObList.

Örnek

Aşağıdaki örnek, bir CMFCToolBarFontComboBox nesnenin nasıl oluşturduğunu gösterir. Bu kod parçacığı Word Pad örneğinin bir parçasıdır.

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

Birleşik giriş kutusunda belirtilen dizin için nesneye yönelik bir işaretçi CMFCFontInfo döndürür.

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

Parametreler

iIndex
[in] Birleşik giriş kutusu öğesinin sıfır tabanlı dizinini belirtir.

Dönüş Değeri

Nesne işaretçisi CMFCFontInfo . iIndex geçerli bir öğe dizini belirtmezse, dönüş değeri NULL olur.

CMFCToolBarFontComboBox::m_nFontHeight

Birleşik giriş kutusunun sahip çizim stili varsa yazı tipi birleşik giriş kutusundaki karakterlerin yüksekliğini piksel cinsinden belirtir.

static int m_nFontHeight

Açıklamalar

m_nFontHeight Değişken 0 ise, yükseklik birleşik giriş kutusunun varsayılan yazı tipine göre otomatik olarak hesaplanır. Yükseklik hem taban çizgisinin üzerindeki karakterlerin yükselişini hem de taban çizgisinin altındaki karakterlerin azalmasını içerir.

CMFCToolBarFontComboBox::SetFont

Yazı tipi birleşik giriş kutusunda, parametrelerde belirtilen yazı tipi adına ve karakter kümesine göre yazı tipini seçer.

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

Parametreler

lpszName
[in] Yazı tipi adını veya ön ekini belirtir.

nCharSet
[in] Karakter kümesini belirtir.

bExact
[in] lpszName'in yazı tipi adını mı yoksa yazı tipi ön ekini mi içerdiğini belirtir.

Dönüş Değeri

Yazı tipi başarıyla seçildiyse sıfır olmayan; aksi takdirde 0.

Açıklamalar

bExact TRUE ise, bu yöntem lpszName olarak belirttiğiniz adla tam olarak eşleşen bir yazı tipi seçer. bExact YANLIŞ ise, bu yöntem lpszName olarak belirtilen metinle başlayan ve nCharSet olarak belirttiğiniz karakter kümesini kullanan bir yazı tipi seçer. nCharSet DEFAULT_CHARSET olarak ayarlanırsa, karakter kümesi yoksayılır ve yazı tipi seçmek için yalnızca lpszName kullanılır.

Ayrıca bkz.

Hiyerarşi Grafiği
Sınıflar
CMFCToolBar Sınıfı
CMFCToolBarButton Sınıfı
CMFCToolBarComboBoxButton Sınıfı
CMFCFontInfo Sınıfı
CMFCToolBar::ReplaceButton
İzlenecek yol: Araç Çubuklarına Denetimler Yerleştirme