|
Windows API 정복이라는 책보면서 프로그램 짜는 완전 초보인데요..
겨우겨우 뒤저서 에디트박스 안에서 엔터를 인식하는 것을 서브클래싱으로 가능하단 걸 알게 됬는데
에디트 박스 안에서 엔터나 ESC키를 치면 아직도 '제어판->소리'에 설정되어있는 기본경고음이 나옵니다.
제 생각엔 엔터나 ESC키를 누르면 WM_KEYDOWN 말고 다른 메시지가 서브클래스 프로시저에 들어 오는거 같은데요
암튼 이 문제를 좀 해결해 주세요
밑에는 서브클래스 프로시저의 코드입니다.
===========================================================================================
LRESULT CALLBACK EditSubProc1(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
switch (iMessage) {
case WM_KEYDOWN:
switch (wParam) {
case VK_RETURN:
SendMessage(BaseWindow1, WM_KEYDOWN, wParam, lParam);
SetWindowText(hWnd, EmptyLine);
SetFocus(hWnd);
return 0;
case VK_ESCAPE:
SetFocus(BaseWindow1);
return 0;
}
}
return CallWindowProc(OldEditProc1, hWnd, iMessage, wParam, lParam);
}
============================================================================================
|