Windows

VC6 Static control double click 처리하기

core7ms 2016. 6. 22. 09:39

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 이벤트 받을 수 있다.