Hover Button

 이 소스는 www.codeproject.com의 Button Control 섹션에서 "CHoverButton - A simple hoverbutton with one bitmap and a tooltip" 부분에서 가져온 겁니다.

Demo 프로그램의 코드는 여기서              

소스코드는 여기서

 이 Hover Button의 특징은 마우스가 위로 올라와 있을 때 버튼 모양이 달라지고, 툴팁도 나오죠.

   

 첫 번째 그림은 처음 버튼 모양이구요, 두 번째는 마우스 커서가 위로 올라갔을 때, 툴팁이 나오면서 버튼 모양이 바뀐 모양입니다. 세 번째는 버튼을 눌렀을 때의 모양이구요.

이렇게 모양이 틀린 세 가지 버튼 모양을 나타내는 이 버튼이 바로 Hover Button입니다.

 사용법은 다음처럼..

1. 다이얼로그 베이스로 프로젝트를 하나 만듭니다. 데모예제에선 프로젝트 이름을 CHoverBTN이라고 지었습니다.

2. hoverbutton.h / cpp 파일과 버튼모양을 나타낼 비트맵을 프로젝트에 복사해 넣고, 프로젝트에 추가합니다.

 당연히 비트맵 파일은 res 폴더안에 넣어야 좋겠죠. 비트맵 파일의 ID 는 IDB_HOVERBTN 이라고 정합니다.

3. CHoverBTNDlg.h 파일 앞에 다음처럼 파일을 인클루드 합니다.

       #include "HoverButton.h"

4. ResourceView에서 버튼을 하나 놓고나서, 클래스 위저드의 Member Variables에서 다음처럼 버튼과 연결시킵니다.

   Control IDs : IDC_BUTTON1
   Type : CButton
   Member : m_HoverBtn

5. CHoverBTNDlg.h 파일을 열어 다음처럼 고칩니다.

        CButton    m_HoverBtn;  -> CHoverButton   m_HoverBtn;

6. CHoverBTNDlg.cpp 파일의 OnInitDialog() 핸들러에서 다음 코드를 입력합니다.

        m_HoverBtn.LoadBitmap(IDB_HOVERBTN);   // 비트맵 로드
        CString text=_T("Click me!");                      
        m_HoverBtn.SetToolTipText(&text);              // 툴팁 설정

7. 이대로 컴파일하면 Hover Button 은 작성끝입니다. 버튼 그림은 256 색도 가능하지만 256색으로 하면 Visual C++에서 편집이 불가능합니다.

- the end of this article -