|
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
|