키보드 입력을 처리하기
키보드로부터 입력이 발생했을 경우 해당 프로그램에 WM_CHAR 또는 WM_KEYDOWN 메세지를 보내준다. 프로그램은 이 메세지를 받아 키입력을 처리해야한다.
클래스 속성의 메세지 목록에서 WM_CHAR를 찾아 메세지 핸들러를 추가하면 OnChar함수가 추가된다.
다음과 같이 소스를 추가한다
void CCharExamView::OnChar(UNIT nChar, UNIT nRepCnt, UNIT nFlags) { //TODO: 여기에 메세지 처리기 코드를 추가... CClientDC dc(this); //DC를 얻어옴 static int x = 0; //함수 호출이 여러번 되어도 이전 값을 기억하기 위해 x += 8; //static으로 선언 CString str; str.Format(_T("%c"), nChar); //키보드에서 입력된 문자를 (string형으로 변환) if(nChar >= 'A' && nChaar <= 'Z' || nChar >= 'a' && nChar <= 'z' || nChar >= '0' && nChar <= '9') { dc.TextOut(x, 100, str, 1); //화면에 출력 } CView::OnChar(nChar, nRepCnt, nFlags); }