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
[18405] Re:Re:[질문] SystemParametersInfo를 통한 시스템폰트이름 가져오기
이기주 [] 2416 읽음    2002-05-13 11:42
제가 OS를 명시 안했군요..
한글 WINDOWS XP에서는 "굴림"이라고 잘 표시 됩니다.

문제되는 OS는 WINDOWS Me이고, 찾아보니 유니코드로 리턴된다라는 걸 알았습니다.

문제는 WideCharTo...등의 변환 함수를 사용해도 변환이 안된다는 겁니다.

잘 못 사용한건지..

어쨌든 얻어온 정보를 바탕으로 Font의헨들을 넘겨받으면,

이름만 빼고는 모두 시스템폰트와 같은 폰트를 사용할 수 있습니다.



유영인 [Chris] 님이 쓰신 글 :
: SystemParametersInfo의 인자값이 잘못되어 값을 제대로 못 받아오는 것 같습니다.
:
: SPI_GETNONCLIENTMETRICS 의 인자는, pnParam 부분 (3번째 인자) 에서만 저장시킬 곳의 포인터 지정만 해주시면 됩니다.
:
:
:
: //---------------------------------------------------------------------------
:
: #include <vcl.h>
: #pragma hdrstop
:
: #include "Unit1.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
: {
: }
: //---------------------------------------------------------------------------
:
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:
:  NONCLIENTMETRICS  ncFont;
:
:
:  ncFont.cbSize = sizeof(NONCLIENTMETRICS);
:  SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, &ncFont, 0);
:
:
:  ShowMessage(ncFont.lfMessageFont.lfFaceName);
:
: }
: //---------------------------------------------------------------------------
:
:
: 이기주 님이 쓰신 글 :
: : SystemParametersInfo를 사용하여 시스템 폰트의 이름을 가져오려고 합니다.
: :
: : NONCLIENTMETRICS ncm;
: :
: : ncm.cbSize=sizeof(NONCLIENTMETRICS);
: : int st=SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS),NONCLIENTMETRICS*)&ncm,0);
: :
: : 문제는 ncm.lfMessageFont.lfFaceName으로 가져오는 폰트이름입니다.
: :
: : 어떻게 해야 가져올 수 있을까요?
: :
: : 그대로 출력하면 이상한 문자가 출력됩니다.
: :
: : 뭔가 변경해주어야 할 것이 있다면 방법을 알려주시면 감사하겠습니다.
: :
: :

+ -

관련 글 리스트
18392 [질문] SystemParametersInfo를 통한 시스템폰트이름 가져오기 이기주 1175 2002/05/13
18397     Re:[질문] SystemParametersInfo를 통한 시스템폰트이름 가져오기 유영인 [Chris] 1556 2002/05/13
18405         Re:Re:[질문] SystemParametersInfo를 통한 시스템폰트이름 가져오기 이기주 2416 2002/05/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.