Visual Studio 6.0 class wizard에서는 CStatic control의 Click event handler 추가 기능만 있다.
그래서 double click과 같은 것은 수동으로 핸들러를 등록해주어야 한다.
그리고 구현 전 control 속성에서
Styles tab > Notify 체크해주어야 한다.
우선 핸들러 함수를 선언 및 구현
// XXX.h
afx_msg void OnStaticTestDblClicked();
// XXX.cpp
void CTest1Dlg::OnStaticTestDblClicked()
{
// TODO: Add your control notification handler code here
}
Message map에 STN_DBLCLK 메시지 받을 수 있도록 등록
// XXX.cpp
BEGIN_MESSAGE_MAP(CTest1Dlg, CDialog)
//{{AFX_MSG_MAP(CTest1Dlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_CONTROL(STN_DBLCLK, IDC_STATIC_TEST, OnStaticTestDblClicked)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
이렇게 하면 dbl 이벤트 받을 수 있다.
'Windows' 카테고리의 다른 글
[MFC] Directory Dialog (0) | 2016.08.24 |
---|---|
[VisualStudio] stl::map insert vs operator[]. Which is faster? (0) | 2016.06.22 |
[MFC] Double buffering (0) | 2016.05.27 |
[MFC] Draw Text (0) | 2016.05.27 |
MFC, Popup context menu (0) | 2016.05.11 |