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
[61178] Re:장성호님께 질문 합니다^^
locke [syiware] 1007 읽음    2010-05-26 11:10
당근 TextWidth는 대소문자가 같지않습니다.

폰트에는 두가지가 있는데 고정너비 폰트와 그렇지않은 경우죠.

글씨체중에.."굴림", "굴림체" 이런식으로 있는건 "굴림체"가 고정너비 폰트입니다.

폰트를 고정너비로 하고 하시면 될듯 싶습니다.

-locke

공부중 님이 쓰신 글 :
: 예전 답글에서요
: 폰트의 크기를 알아 오는 방법 에 아래와같이 쓰셨는데요
:
: 방법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 장성호님께 질문 합니다^^ 공부중 816 2010/05/26
61179     Re:장성호님께 질문 합니다^^ 장성호 951 2010/05/26
61178     Re:장성호님께 질문 합니다^^ locke 1007 2010/05/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.