본문 바로가기

Windows

VC6 Static control double click 처리하기

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