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

C++빌더 FAQ
C++Builder Programming FAQ
[2] [TECHNIQUE][VCL][COMPONENT] 글씨를 세로로 쓰기
박지훈.임프 [cbuilder] 19942 읽음    2000-06-12 00:00
/Q//
label 을 쓰는데 세로로 쓸수 있는 컴포넌트는 없나요?
다시말하면 가로로 쓴 글씨를 90도 회전한 형태여야 되거든요.
혹시 컴포넌트가 있으면 좋겠는데요 없으면 어떻게 해야 될지 가르쳐 주세요.


/A//
자료실에 있는 ProLib이란 패키지 라이브러리에 ProLabel이란 컴퍼넌트가 있습니다.
이 컴퍼넌트에 원하시는것처럼 글자를 회전하는 기능이 있구요, Angle이란 프로퍼티
로 각도를 지정해주면 됩니다. 단위는 degree, 즉 도 입니다. 
하지만, 이것 하나때문에 컴퍼넌트를 쓰실것까지는 없겠구요, 코딩하는게 어렵지
않으시다면 별로 어렵지 않게 구현할 수도 있습니다.
다음은 인프라이즈의 델파이 FAQ에서 참고한 내용이며, 45도 회전한 글자를 보여줍
니다.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    Form1->Canvas->Font->Name = "Arial";
    Form1->Canvas->Font->Size = 24;
    TFont *tf = new TFont;
    tf->Assign(Form1->Canvas->Font);
    TLogFont lf;
    GetObject(tf->Handle, sizeof(lf), &lf);
    lf.lfEscapement = 450;
    lf.lfOrientation = 450;
    tf->Handle = CreateFontIndirect(&lf);
    Form1->Canvas->Font->Assign(tf);
    delete tf;
    Form1->Canvas->TextOut(20, Height / 2, "Rotated Text!");
}

실행해보면 예쁘게 회전된 문자열이 나옵니다.


p.s. : 이 내용은 제가 운영하는 천리안 프로그래머포럼의 FAQ 게시판에 올렸던 내용인데, 작년에 마소에 어바웃 C++을 기고하시던 분이 무단 전재해서 올리셨더군요. -.-;;

+ -

관련 글 리스트
2 [TECHNIQUE][VCL][COMPONENT] 글씨를 세로로 쓰기 박지훈.임프 19942 2000/06/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.