2017년 2월 7일 화요일
[Delphi] Speed Button 으로 Toggle Switch Button 만들기
자료출처: http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=986
한번 누르면 버튼이 들어간 상태로 있고, 한번 더 누르면 다시 정상 상태로 올라오는
토글 스위치 버턴을 만들려면, 스피드 버튼을 이용하면 됩니다.
가끔씩 이런 기능의 버턴이 필요한데,
델파이가 제공하는 기본 컴포넌트에서 이걸 하려면 스피드버튼을 사용하면 됩니다.
스피드 버튼을 폼에 올리고
AllowAllUp = true; 로 바꾸고
GroupIndex = 0 이외의 값을 주면 됩니다.
스피드 버턴을 그룹화 시켜 쓰는 것이 없다면 그냥 1 주면 되겠죠.
이렇게 하면 간단히 토글 스위치 버턴이 만들어 집니다.
모양을 좋게 하려면
Flat = true;
기본 버턴을 좀 이쁘게 하고 싶으면
스피드 버턴 밑에 TShape을 하나 깔거나, TImage로 백그라운드를 그려주는게 좋겠죠.
하지만 이 경우 버튼이 Down 모드일 경우는 나타나지 않으니, 이를 감안해서 백그라운드 이미지를
선정해야 합니다.
AllowAllUp 프로퍼티는 그룹화 시켜 놓은 스피드버턴이 있으면
그룹중에 버턴 하나를 클릭 했을때 그룹의 나머지 버턴이 자동으로 올라오는 것을 의미합니다.
그룹에 버턴이 단 하나면 있다면 그냥 눌려진 상태로 있게 만들어주는 프로퍼티인 것이죠.
현재 버턴의 상태는 Down 프로퍼티에 나타납니다.
물론 이 Down 프로퍼티에 true를 지정하면 눌려진 상태로, false를 지정하면 정상 상태로 제어도 가능하죠.
팁이라기 보다는 그냥 스피드 버턴의 사용법이었네요.
>>>>> 참고
같은 그룹내의 다른 버튼을 누르면 이전에 선택된 버튼이 Up되지만, 이미 선택된 버튼을 한번 더 누르면?
AllowAllUp = false 면 그 놈은 튀어 나오지 않습니다. 그룹 내의 버튼 하나는 반드시 눌린 상태로 있어야 합니다.
AllowAllUp = true 면 튀어 나옵니다. 그룹내의 선택된 버튼이 없는 상태가 됩니다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기