Programming/C Win32 MFC2017. 3. 8. 17:08

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
Posted by 구차니