이상한 가상키반응
한
LRESULT CALLBACK proc(HWND hwnd,UINT MSG,WPARAM wparam,LPARAM lparam){
static int right,left,up,down;
HDC dc;
PAINTSTRUCT Paint;
HBRUSH brush;
switch(MSG){
case WM_CREATE:
break;
case WM_PAINT:
dc=BeginPaint(hwnd,&Paint);
if(left==0)
Rectangle(dc,0,150,50,100);
else if(left==1){
brush=CreateSolidBrush(RGB(0,0,255));
brush=SelectObject(dc,brush);
Rectangle(dc,0,150,50,100);
DeleteObject(brush);
}
if(right==0)
Rectangle(dc,200,150,250,100);
else if(right==1){
brush=CreateSolidBrush(RGB(0,0,255));
brush=SelectObject(dc,brush);
Rectangle(dc,200,150,250,100);
DeleteObject(brush);
}
EndPaint(hwnd,&Paint);
break;
case WM_KEYDOWN:
if((wparam==VK_RIGHT)&&(right==0)){
InvalidateRgn(hwnd,NULL,TRUE);
right=1;
}
else if((wparam==VK_RIGHT)&&(right==1)){
InvalidateRgn(hwnd,NULL,TRUE);
right=0;
}
if((wparam==VK_LEFT)&&(left==0)){
InvalidateRgn(hwnd,NULL,TRUE);
left=1;
}
else if((wparam==VK_LEFT)&&(left==1)){
InvalidateRgn(hwnd,NULL,TRUE);
left=0;
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
}
return DefWindowProc(hwnd,MSG,wparam,lparam);}
이 소스는 윈도 프로그래밍이며키보드 방향키를 반응해 반응한 방향의 직사각형의 색깔을 파랑색으로 바꾸는 소스에요근데 이상하게도 왼쪽방향키만 누르면 왼쪽만 변해야하는데방식은 왼쪽 누를떄 left 변수를 1로 초기화 하고 WM_PAINT case에서 left 변수가 1일떄 left 에서 파랑색으로 변하게 한다는 방식으로 했는데오른쪽 까지 다 변하네요;..왜그런거죠?
-
스콜피온
허엇 되네요!
조언감사합니다 ^^ -
휘들램
흐음.. 잘 안되넹
따로 추적해봐야하나요 .. -
다흰
그리고 WM_KEYUP도 정의해주셔야 할거에요.
WM_KEYDOWN에는 rigth, left를 1로 바꾸시는 소스만 넣고 WM_KEYUP에는 0으로 바꾸는 소스만 넣으세요.
무엇보다도 프로그램의 코드 실행방향은 위에서 아래로라는걸 기억하셔야 합니다. right, Left값을 추적하시면 왜 오류가 나는지 아실겁니다. -
미리내
브레이크를 넣어도 그러는데 .. 어떻하죠 ㅠㅠ;
-
사랑해
WM_KEYDOWN의 if, else if문(4개) 모두 마지막 구문에 break;를 넣어주세요.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2652220 | 페이지 스크롤 문제입니다.. !!! (2) | 벛꽃 | 2024-04-20 |
2652190 | 페이스북 코멘트 관련 문의 드립니다. | 행운아 | 2024-04-20 |
2652162 | JSP 코딩중에 에러발생하여 질문올립니다. (3) | 마루 | 2024-04-20 |
2652129 | 급한 질문이 있어요 ㅜㅡ (1) | 잉간 | 2024-04-19 |
2652104 | 라디오버튼 위치조정을 포함한 관련 질문드려요... | 터전 | 2024-04-19 |
2652074 | 윈도우8에서 iframe이 잘 적용되나요?? | 나로 | 2024-04-19 |
2652050 | 스튜디오 홈페이지 만들려고 하는데요. 이런 테마 혹시 있으시면 추천 좀 해주세요. | 고양이 | 2024-04-19 |
2652025 | 컴파일러?? | 호시 | 2024-04-18 |
2651996 | C++ 한번 배워보려는데 책 어떤가요? (3) | 서향 | 2024-04-18 |
2651923 | 이런방식 을 뭐라하는지 검색어 질문입니다. (4) | 바나나맛캔디 | 2024-04-17 |
2651895 | 제이쿼리... 질문입니다. (5) | 연와인 | 2024-04-17 |
2651868 | 지방에 있다가 서울로 이직할려는 웹퍼블리셔 입니다.... (10) | 토리 | 2024-04-17 |
2651842 | c의 sizeof같은 연산자 있나요? (3) | 연연두 | 2024-04-17 |
2651818 | 자바스크립트 수학 공식 질문 (1) | 갅지돋는슬아 | 2024-04-16 |
2651768 | [java] 자바와 크리스탈리포트 연동에 관한 질문이요^^ | Sonya | 2024-04-16 |
2651740 | 원페이지로 구성된 홈페이지 질문입니다... | 달빛 | 2024-04-16 |
2651716 | JAVA 문제 정렬인데요a 어느 쪽에 삽입을 해야할지.. ㅠ (4) | 맨마루 | 2024-04-15 |
2651665 | 해결되지가 않네요.(Getpixel) (3) | 비 | 2024-04-15 |
2651640 | 비용문의좀 드릴게요~~ | 파랑 | 2024-04-15 |
2651585 | 바탕화면보기 아이콘를 이용하는데 단축키 있으면 알려주세요 (7) | 가온 | 2024-04-14 |