한국어
Windows Programming

키보드 입력을 처리하기

pjk 2014.05.24 12:38 조회 수 : 4166

키보드 입력을 처리하기
키보드로부터 입력이 발생했을 경우 해당 프로그램에 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);
}