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
[61176] 장성호님께 질문 합니다^^
공부중 [lcw1984] 815 읽음    2010-05-26 10:53
예전 답글에서요
폰트의 크기를 알아 오는 방법 에 아래와같이 쓰셨는데요

방법1)
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: //    INT size;
:     tagSIZE size;
:     char *ch="abcd";
:     GetTextExtentPoint32(GetDC(Edit1->Handle),ch ,4,&size);
:     ShowMessage(IntToStr(size.cx)+"  "+IntToStr(size.cy));
: }
: //---------------------------------------------------------------------------
:
:
:
: 방법2)
: 그런데 위 방법은 값이 좀 맞지 않는것 같더군요
: 그래서 아래와같이 Canvas를 만들어서...
: VCL의 TextExtent , TextWidth, TextHeight 를 이용해봤습니다.
:
: void __fastcall TForm1::BitBtn1Click(TObject *Sender)
: {
:      tagSIZE size;
:     TCanvas *Can=new TCanvas;
:     Can->Handle=GetDC(Edit1->Handle);
:     size=Can->TextExtent("abcd");
:
:     Can->Font->Size=Edit1->Font->Size;                     //Canvas의 Font를 설정해준다.
:     int hei=Can->TextHeight("abcd");
:     int wid=Can->TextWidth("abcd");
:
:     ShowMessage(IntToStr(size.cx)+"  "+IntToStr(size.cy));
:     delete Can;
: }
2번째 방법을  사용 하여 보았으나 대문자로 바꾸면 길이는 달라집니다
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
: {
:      tagSIZE size;
:     TCanvas *Can=new TCanvas;
:     Can->Handle=GetDC(Edit1->Handle);
:     size=Can->TextExtent(Edit2->Text);
:
:     Can->Font->Size=Edit1->Font->Size;                     //Canvas의 Font를 설정해준다.
:     int wid=Can->TextWidth(Edit2->Text);
:
:     ShowMessage((size.cx))
:     delete Can;
}
에디트 1은 폰트의 크기를
에디트2는 문자열을 넣어 보았습니다

+ -

관련 글 리스트
61176 장성호님께 질문 합니다^^ 공부중 815 2010/05/26
61179     Re:장성호님께 질문 합니다^^ 장성호 950 2010/05/26
61178     Re:장성호님께 질문 합니다^^ locke 1007 2010/05/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.