Yazı tipi seçme

Örnek kod, bir yazı tipi iletişim kutusunu görüntüler böylece kullanıcı bir yazı tipi özniteliklerini seçebilirsiniz açıklanmıştır. Örnek kod öncelikle bir choosefont yapısı başlatır ve sonra iletişim kutusunu görüntülemek için ChooseFont işlevini çağırır.

Bu örnek, yalnızca ekran yazı tipleri iletişim kutusunda görüntülemesi gerektiğini belirtmek için cf_screenfonts bayrağını ayarlar. Üstü çizili, altı çizili ve renk seçeneklerini seçin kullanıcı denetimlerini görüntülemek için cf_effects bayrağını ayarlar.

ChooseFont kullanıcı Tamam düğmesi tıklandığında gösteren true dönerse logfont yapısı choosefont yapısı lpLogFont üyesi tarafından işaret yazı tipini ve kullanıcı tarafından seçilen yazı tipi özniteliklerini tanımlayan bilgileri içerir. RgbColors üye seçilen metin rengini içerir. Örnek kod, sahibi pencere ile ilişkili aygıt içeriği için yazı tipi ve metin rengini belirlemek için bu bilgileri kullanır.

Hwnd hwnd;                / / sahibi penceresi
hdc hdc;                  / / aygıt içeriğini sahibi penceresinin ekran

choosefont cf;            / / ortak iletişim kutusu yapısı
statik logfont lf;        / / mantıksal font yapısına
statik dword rgbCurrent;   / / geçerli metin rengi
hfont hfont, hfontPrev;
dword rgbPrev;

/ / choosefont başlatılamadı
ZeroMemory (amp; cf, sizeof(CHOOSEFONT));
CF.lStructSize = sizeof (choosefont);
CF.hwndOwner hwnd; =
CF.lpLogFont = & lf;
CF.rgbColors = rgbCurrent;
CF.Bayrak = cf_screenfonts | CF_EFFECTS;

Eğer (ChooseFont(&cf) == true) {}
    hfont = CreateFontIndirect(cf.lpLogFont);
    hfontPrev = NesneSeç (hdc, hfont);
    rgbCurrent = cf.rgbColors;
    rgbPrev = SetTextColor (hdc, rgbCurrent);
 .
 .
 .
} 

Index