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
[50820] Re:버튼 형태 구현.
장성호 [nasilso] 1803 읽음    2007-10-11 10:54
ComboBox나 Grid  ,  ListView 같은데..  CheckBox나 RadioBox 같은것을 넣을때 종사용하는 방법인데요..
DrawFrameControl 이라는 api가 있습니다.
잘 사용하면 유용하죠

아래 예제를 참조하세요


RECT rc=Rect(10,10,10+70,10+25);
RECT rc2=Rect(rc.left+3,rc.top+3,rc.right -3,rc.bottom-3);
RECT rc3=Rect(rc.left+3,rc.top+5,rc.right -3,rc.bottom-3);
TRect rc4=Rect(rc.left-1,rc.top-1,rc.right +1,rc.bottom+1);

//기본 버튼
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    DrawFrameControl(Canvas->Handle,&rc,DFC_BUTTON,DFCS_BUTTONPUSH|DFCS_INACTIVE);
}

//버튼이 눌려진 상태
void __fastcall TForm1::Button3Click(TObject *Sender)
{
    DrawFrameControl(Canvas->Handle,&rc,DFC_BUTTON,DFCS_BUTTONPUSH|DFCS_PUSHED);
}
//---------------------------------------------------------------------------

//버튼에 Focus가 간 상태
void __fastcall TForm1::Button4Click(TObject *Sender)
{
    DrawFrameControl(Canvas->Handle,&rc,DFC_BUTTON,DFCS_BUTTONPUSH|DFCS_INACTIVE);
    DrawFocusRect(Canvas->Handle,&rc2);
}

//버튼에 Push & Focus가 간 상태
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    DrawFrameControl(Canvas->Handle,&rc,DFC_BUTTON,DFCS_BUTTONPUSH|DFCS_PUSHED);
    DrawFocusRect(Canvas->Handle,&rc2);
}
//---------------------------------------------------------------------------

//버튼에 Push & Focus가 간 상태에 text출력
void __fastcall TForm1::Button5Click(TObject *Sender)
{
    DrawFrameControl(Canvas->Handle,&rc,DFC_BUTTON,DFCS_BUTTONPUSH|DFCS_INACTIVE);
    DrawFocusRect(Canvas->Handle,&rc2);
    DrawTextA(Canvas->Handle,"MyBtn",5,&rc3,DT_CENTER|DT_VCENTER );
}
//---------------------------------------------------------------------------

//바깥쪽에 Focus상태 Rect을 그려줌..
void __fastcall TForm1::Button7Click(TObject *Sender)
{
    Canvas->Rectangle(rc4);
    DrawFrameControl(Canvas->Handle,&rc,DFC_BUTTON,DFCS_BUTTONPUSH|DFCS_PUSHED);
    DrawFocusRect(Canvas->Handle,&rc2);
    DrawTextA(Canvas->Handle,"MyBtn",5,&rc3,DT_CENTER|DT_VCENTER );
}
//---------------------------------------------------------------------------


그럼..


newhuni 님이 쓰신 글 :
: 안녕하세요.
:
: 이미지 에디터를 만들고 있는데  버튼을 어떻게 만들어야 할지 모르겠습니다.
:
: 사각형을 그리는 것 처럼 마우스로 영역을 지정하면 그 크기만한 버튼모양을 그리고 싶습니다.
:
: 보통 폼에 TButton을 놓으면 입체적으로 보이잖아요...
:
: 그것을 어떻게 구현해야 할까요??
:
: 조언부탁드립니다.

+ -

관련 글 리스트
50814 버튼 형태 구현. newhuni 1166 2007/10/11
50820     Re:버튼 형태 구현. 장성호 1803 2007/10/11
51051         Re:Re:딱 제가 찾던 답이었습니다.. 조언주신 장성호님 감사합니다. ^^(냉무) newhuni 2406 2007/10/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.