case WM_CREATE :
x = 50; y = 50;
x1 = 270; y1 = 50;
Selection = FALSE;
Selection2 = FALSE;
return 0 ;
case WM_PAINT :
hDC = BeginPaint (hWnd, &ps) ;
if (Selection)
{
hBrush = CreateSolidBrush(RGB(255,255,0));
oldBrush = (HBRUSH)SelectObject(hDC, hBrush);
Ellipse(hDC, x-BSIZE,y-BSIZE,x+BSIZE,y+BSIZE);
SelectObject(hDC, oldBrush);
DeleteObject(hBrush);
}
else if (Selection2)
{
Rectangle(hDC, x1-BSIZE, y1-BSIZE, x1+BSIZE, y1+BSIZE);
}
else
Ellipse(hDC, x-BSIZE, y-BSIZE, x+BSIZE, y+BSIZE);
Ellipse(hDC, x1-BSIZE, y1-BSIZE, x1+BSIZE, y1+BSIZE);
EndPaint (hWnd, &ps) ;
return 0 ;
case WM_LBUTTONDOWN : mx = LOWORD(lParam);
my = HIWORD(lParam);
if (InCircle(x, y, mx, my))
Selection = TRUE;
else if (InCircle(x1, y1, mx, my))
Selection2 = TRUE;
InvalidateRgn(hWnd, NULL, TRUE);
break;
case WM_LBUTTONUP : Selection = FALSE;
Selection2 = FALSE;
InvalidateRgn(hWnd, NULL, TRUE);
break;
원형 버튼을 2개 만들기 기초를 하는 중인데
첫번째 원을 누르면 첫번째원에 노랑색 불이 들어오고
두번째 원을 누르면 두번째원에 네모난 테두리가 들어오는데
첫번째 원은 되는데 두번째 원을 누르면 테두리가 그려지기는 하는데 첫번째 원이 사라져버리네..- 3-
무슨 이유인지 알수가 없어/
그 엄청난 머리들로 나를 구원해줘!!
저도 잘 모르겠네요
API말고 Qt도 있는데....너무해 ㅠㅠ
진지하게 물어보는 건데 어떻게 안되나요 저거...?? 저거 사라지는 것만 해결하면 나머지는 술술 풀릴텐데 왜 저게 사라져버리는지 이해가 안되네요. 사라지려면 첫번째 원 누르면 두번째도 사라지던가 저게 진짜 뭔지..- _-
if selection: 버튼1이 눌린상태를 그린다. 버튼2가 안눌린 상태를 그린다
elif selection2: 버튼2가 눌린 상태를 그린다. 버튼1이 안눌린 상태를 그린다
else: 둘다 안눌린 상태를 그린다
이게 맞지 않냐?
만약 이게 아니면, 똑같은 버튼을 그리는 코드인데 왜 if 절이랑 else if 절에서 도형을 다른 방법으로 그리지?
그러면 선택이 10개만 넘어가도 안눌린상태가 무식하게 많아지는데...아닌가?
지금 배우는 중이라 내가 뭘 틀린지 모름,
미안, 뻘소리였다. 저것들 무시해
원하는대로 나오게 했는데 이유를 모르겟다. 왜 되는지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
원부터 그리고 그다음에 if selection 처리하고 if selection2 로 처리해야 할듯... else라서 하나 처리하면 하나가 안되는거 같음