프로그래밍

 3198, 1/160 회원가입  로그인  
   G.O.D
   API 논리오류;;?

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=6406 [복사]


문제

        공백키를 누를떄 출력되는 문자를 A와 #으로 토글하라. 상수를 변수로 선언하고 공백키 입력시 값을 바꾸면된다.

-코드-

HDC hdc;
PAINTSTRUCT ps;
int a=1;
TCHAR *ab;

switch(iMessage)
{
        case WM_KEYDOWN:
                switch(HIWORD(wParam))// 그냥 wParam 하면 스페이스 빼고 다 인식됨;; 이유 모르겠음.
                {
                        case VK_SPACE:
                                a=1-a;//a=1이면 a=1-1=0 , a=0이면 a=1-0=1;
                                switch(a)
                                {
                                        case 0: ab="A"; break;//a가 0이면 A를 저장 + 여기다 메시지 박스를 넣으면 안뜸.
                                        case 1: ab="#"; break;// a가 1이면 #을 저장 + 여기다 메시지 박스를 넣으면 안뜸.
                                }
                                InvalidateRect(hWnd, NULL, TRUE);// 페인트 메시지 발생시켜줌, 전 윈도우 무효화
                }        
                // 여기다 메시지 박스를 써놓으면 키다운은 발생해서 메시지 박스가 뜸
                return 0;
        case WM_PAINT:
                ... // 생략
}

이건데 실행은 되는데 논리오류가 뜸;(윈도우는 뜨는데 문자는 안나옴)
저기 ab에 문자 저장하는 case 문이 실행이 안되는듯 한데 이유를 모르겠습니다.
api고수님 답변좀요

  Hit : 4382     Date : 2013/11/14 06:24