관리 메뉴

History

서브클래싱을 이용한 버튼 기능 변경하기 본문

MFC/개인 실습

서브클래싱을 이용한 버튼 기능 변경하기

luckybee 2022. 2. 3. 20:57
728x90
반응형

이번에 실습한 내용은 +버튼과 -버튼을 마우스로 눌러서 숫자의 크기를 늘리고 줄이는 실습이다.

이번 실습은 MFC클래스에서 CButton클래스를 추가해서 버튼을 0.5초 이상 누르고 있으면 0.1초마다 숫자가 자동으로 늘어나는 실습을 진행했다.  CButton클래스에서 LBUTTONDOWN과 LBUTTONUP, TIMER를 넣었다.

LBUTTONDOWN에서는 SetTimer로 1번을 부여하고 0.5초를 세팅한다. 그리고 TIMER함수에서 1번에 들어왔으면 바로 KillTimer를 하고 바로 SetTimer를 호출하여 2번을 0.1초를 세팅한다. 그 후 SendMessage로 메인 dlg.cpp에

메시지를 보낸다. 메인 dlg에서는 가상함수에서 OnCommand를 추가해주고 wParam으로 컨트롤 ID를 비교해주고 값을 더하거나 빼주면 0.1초마다 값이 변동될 것이다.

 

마지막으로 OnInitDialog에서 SubClassDlgItem으로 연결시켜주면 된다.

 

아래는 실행화면이다.

일반적인 클릭
길게 눌렀을 때

  

728x90
반응형
Comments