웹하드 |
무정혈
http://blog.naver.com/chohj35/120015153197
http://blog.naver.com/chohj35/120015153197
다이얼로그로 대화창을 만들고 에디트 버튼이나 기타 엔터키 입력을 받는 콘트롤을 올려 놓을 경우에
다이얼로그에서 먼저 엔터키를 받아서 OnOK(); 가 호출되어 걍 ~~ 죽죠
이 부분을 바꾸어 보겠습니다
1. 리소스 부분에서 IDOK 부분을 다른 리소스로 변환합니다
4. :PreTranslateMessage() 핸들러를 만들고 아래와 같이 작성 하세요
다이얼로그에서 먼저 엔터키를 받아서 OnOK(); 가 호출되어 걍 ~~ 죽죠
이 부분을 바꾸어 보겠습니다
1. 리소스 부분에서 IDOK 부분을 다른 리소스로 변환합니다
IDOK -- > IDC_BUTTON_ACCEPT
#define IDC_BUTTON_ACCEPT 1150
2. IDC_BUTTON_ACCEPT의 핸들러 OnAccept();를 만들죠void CConfigDlg::OnAccept()
{
// Add code here..
CDialog::OnOK();
}
3. 그 핸들러에 IDOK의 디폴트 핸들러를 호출합니다. (위에서 같이요: CDialog::OnOK();)4. :PreTranslateMessage() 핸들러를 만들고 아래와 같이 작성 하세요
BOOL CConfigDlg::PreTranslateMessage(MSG* pMsg)
{
if( pMsg->message == WM_KEYDOWN ) // Enter Key Prevent.. so good.. ^^
{
if(pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE )
{
::TranslateMessage(pMsg);
::DispatchMessage(pMsg);
return TRUE; // DO NOT process further
}
}
return CDialog::PreTranslateMessage(pMsg);
}
5. 다이얼로그를 모달루 띄우고 엔터키를 입력해도 죽지 않습니다
댓글
댓글 쓰기