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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[986] 스피드 버턴의 토글 스위치 버튼 만들기.
김태선 [cppbuilder] 12181 읽음    2010-05-17 18:23
한번 누르면 버튼이 들어간 상태로 있고
한번 더 누르면 다시 정상 상태로 올라오는
토글 스위치 버턴을 만들려면, 스피드 버튼을 이용하면 됩니다.
가끔씩 이런 기능의 버턴이 필요한데,
빌더가 제공하는 기본 컴포넌트에서 이걸 하려면 스피드버턴을 사용하면 됩니다.

스피드 버턴을 폼에 올리고
AllowAllUp = true; 로 바꾸고
GroupIndex = 0 이외의 값을 주면 됩니다.
스피드 버턴을 그룹화 시켜 쓰는 것이 없다면 그냥 1 주면 되겠죠.

이렇게 하면 간단히 토글 스위치 버턴이 만들어 집니다.

모양을 좋게 하려면
Flat = true;

기본 버턴을 좀 이쁘게 하고 싶으면
스피드 버턴 밑에 TShape을 하나 깔거나, TImage로 백그라운드를 그려주는게 좋겠죠.
하지만 이 경우 버튼이 Down 모드일 경우는 나타나지 않으니, 이를 감안해서 백그라운드 이미지를
선정해야 합니다.

AllowAllUp 프로퍼티는 그룹화 시켜 놓은 스피드버턴이 있으면
그룹중에 버턴 하나를 클릭 했을때 그룹의 나머지 버턴이 자동으로 올라오는 것을 의미합니다.
그룹에 버턴이 단 하나면 있다면 그냥 눌려진 상태로 있게 만들어주는 프로퍼티인 것이죠.

현재 버턴의 상태는 Down 프로퍼티에 나타납니다.
물론 이 Down 프로퍼티에 true를 지정하면 눌려진 상태로, false를 지정하면 정상 상태로 제어도 가능하죠.


팁이라기 보다는 그냥 스피드 버턴의 사용법이었네요.

몇 년동안 한번도 안쓰다가 갑자기 이 버턴 기능을 넣으려니
갑자기 생각이 안나 10분간 헤매서 올려 둡니다.
뇌 대신에 볼포에 저장 <Enter>
송신영 [palindrome]   2010-05-18 13:22 X
오.. 이런 것도 있었군요.
Panel로 토글버튼을 만들어 사용했던 1인...ㅡㅡ;;
장성호 [nasilso]   2010-05-18 15:20 X
옛날에 이걸 몰라서
SpeedButton을 안보이는 위치에 하나 더 올려놓구..
안보이는 위치에 Button을 Down시켜서 보이는 놈을 Up시켰다 Down시켰다 했던 기억이....
째즈토끼 [jazz16]   2010-06-07 18:33 X
음.. AllowAllUp은 영어 뜻 그대로인데요...
같은 그룹내의 다른 버튼을 누르면 이전에 선택된 버튼이 Up되지만, 이미 선택된 버튼을 한번 더 누르면?
AllowAllUp == false 면 그 놈은 튀어 나오지 않습니다. 그룹 내의 버튼 하나는 반드시 눌린 상태로 있어야 합니다.
AllowAllUp == true 면 튀어 나옵니다. 그룹내의 선택된 버튼이 없는 상태가 됩니다.

+ -

관련 글 리스트
986 스피드 버턴의 토글 스위치 버튼 만들기. 김태선 12181 2010/05/17
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.