C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[1252] [답변] JSK365/ 콤보박스(ComboBox)에 대하여.../프포
담비 [ ] 4086 읽음    1999-04-15 00:44

안녕하세요! 담비입니다.

폰트명을 구하는 경우는 다음과 같이 합니다.

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를 참고했습니다.



+ -

관련 글 리스트
1246 [질문] 콤보박스(ComboBox)에 대하여.../프포 jsk365 3864 1999/04/14
1252     [답변] JSK365/ 콤보박스(ComboBox)에 대하여.../프포 담비 4086 1999/04/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.