Computer/C++
BCB - System Fonts 목록 Combobox에 출력
Gu Youn
2005. 11. 27. 23:37
설명 : EnumFonts와 EnumFontsProc(Callback function)을 이용한다. FilFontComboBox() 함수를 호출하면 각 Font에 대해서 Callback 함수가 호출이 되고 ComboBox에 추가 된다.
소스 :
소스 :
TCombobox* FontComboBox;
int __stdcall EnumFontsProc(TLogFont& logfont,TTextMetric& textmetric,
DWORD fonttype,TComboBox* data)
{
dynamic_cast<TComboBox *>(data)->Items->Add(logfont.lfFaceName);
return 1;
}
void __fastcall FillFontComboBox()
{
HDC dc;
dc = GetDC(0);
EnumFonts(dc, NULL, (FONTENUMPROC)EnumFontsProc,(long)FontComboBox);
ReleaseDC(0, dc);
FontComboBox->Sorted = true;
}
int __stdcall EnumFontsProc(TLogFont& logfont,TTextMetric& textmetric,
DWORD fonttype,TComboBox* data)
{
dynamic_cast<TComboBox *>(data)->Items->Add(logfont.lfFaceName);
return 1;
}
void __fastcall FillFontComboBox()
{
HDC dc;
dc = GetDC(0);
EnumFonts(dc, NULL, (FONTENUMPROC)EnumFontsProc,(long)FontComboBox);
ReleaseDC(0, dc);
FontComboBox->Sorted = true;
}