| 
안녕하세요! 담비입니다.
 
 폰트명을 구하는 경우는 다음과 같이 합니다.
 
 void __fastcall TForm1::GetFontNames(void)
 {
 HDC hDC = GetDC(0);
 void* cTmp = (void*)ComboBox1->Items;
 EnumFonts(hDC, NULL, (FONTENUMPROC)EnumFontsProc, (long) cTmp);
 ReleaseDC(0, hDC);
 FontName->Stored = True;
 }
 
 EnumFonts라는 API는 현재 컴퓨터의 폰트명들을 핸들로 받아 이것을 나열해
 줍니다. EnumFontsProc는 EnumFonts로부터 폰트 데이터를 받아서 처리하는
 Application callback함수입니다.
 
 int __stdcall EnumFontsProc(TLogFontA &LogFont, TTextMetricA
 & /*TextMetric*/, int /*FontType*/, Pointer Data)
 {
 TCharsetObject *FontCharset;
 FontCharset = new TCharsetObject((int)LogFont.lfCharSet);
 ((TStrings*)Data)->AddObject((AnsiString)LogFont.lfFaceName,
 FontCharset);
 return 1;
 }
 
 정보문화사의 알기쉬운 Borland C++ 3를 참고했습니다.
 
 
 
 |