MFC에서 버튼은 마우스 릴리즈 시에 이벤트가 발생하는데
버튼을 클릭하는 시점에서 실행하도록 하려면 또 애증의
PreTranslateMessage()를 쓸 수 밖에 없나...
[링크 : http://www.tipssoft.com/bulletin/tb.php/FAQ/648]
[링크 : http://blog.naver.com/1004kiwoo/60128691649]
+
2017.10.17
버튼에서 LBUTTON_DOWN 이벤트 발생시(왼쪽 버튼을 누르는 시점)
행동을 하도록 해보니.. Focus는 누른 이후에 이동하는 거라
버튼에 대해서 포커스로 하기에는 무리..
CButton *pButton; pButton = (CButton *)GetDlgItem(IDC_BUTTON3); pButton->GetWindowRect(rect); if(rect.PtInRect(pMsg->pt)) { // TODO } |
다만, 키 입력 자체는 이미 클릭하거나 탭키로 포커스를 바꾼 이후에 입력하는 거라 문제가 되지 않을 듯 하다.
if(pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE) { if(GetDlgItem(IDC_EDIT1) == GetFocus()) { // TODO } } |
'Programming > C Win32 MFC' 카테고리의 다른 글
mfc cstring 문자열 관련(유니코드) (0) | 2017.04.04 |
---|---|
bit field와 컴파일러별 byte align (0) | 2017.03.27 |
GetHttpConnection() (0) | 2017.03.03 |
만능의 tokenizer?! (0) | 2017.03.03 |
mfc md5 (2) | 2017.03.03 |