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
[53620] Re:버튼 색을 바꿀수 없나요?
장성호 [nasilso] 1853 읽음    2008-06-09 13:06
1.기본적으로 버튼의 색깔을 바꾸는것은?
 
  윈도우 바탕화면에서  마우스 오른쪽 클릭하여
  디스플레이 등록정보 -> 화면 배색 -> 고급 에 들어가셔서
  3차원 개체를 선택하신후 색상을 바꾸셔야 합니다.

  그런데 위와같이 하면 내 프로그램뿐만 아니라 시스템 전체에 적용되죠!

  즉, Button의 색상은 시스템(윈도우)설정에 따르는 것입니다.


2.그러면 Button의 색상을 바꿀수 없는걸까요?
   아래 답변에 보면 "강재호.만해"님께서
   "이벤트 핸들러에서 디바이스 컨텍스트를 가져와서 다시 그려 주시면 됩니다. "라고 했습니다.
  
   Button의 DC( 디바이스 컨텍스트)에 원하는 그림을 직접draw해주면 됩니다.
   단 TButton에는 그려줘야할 Event핸들러가 없네요
   그러므로 직접 TButton의
   WM_PAINT 나 WM_ERASEBKGND 같은 메세지를 잡아서 그려줘야죠
 
   그런데 기본 버튼으로 와와같은 기능을 구현하는것은 깔금하게 하기가 쉽지 않습니다.
  

3.그러면 어떻게?
   이미 만들어져 있는 Button컴포넌트를 이용하심이 깔끔할것입니다.
   아니면 SpeedButton같은 Graphic컨트롤을 이용하던가,
   아니면 다른 dc에 그림을 그리기 편한 control을 이용하심이 좋을것 같습니다.
   (TPanel + TImage 조합도 괜찮을듯...)

그럼..


 
 

윤성중 님이 쓰신 글 :
: 제가 버튼을 누르면 ON 됐다는 표시로 버튼 색을 노란색으로 바꾸고 다시 한번더 누르면 OFF 됐다는 표시로
: 버튼색을 원래돼로 변환 시키고 싶습니다.
: 근데 버튼 프로페티에서는 컬러가 없는데 어떻게 색을 바꿀수 있을까요?

+ -

관련 글 리스트
53614 버튼 색을 바꿀수 없나요? 윤성중 1248 2008/06/09
53620     Re:버튼 색을 바꿀수 없나요? 장성호 1853 2008/06/09
53617     Re:버튼 색을 바꿀수 없나요? 강재호.만해 1447 2008/06/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.