본문 바로가기

프로그래밍

[윈도우API프로그래밍] 연습문제11

p.121


[윈도우API프로그래밍] 연습문제11













 case WM_CREATE:
  x = 0;
  y = 0;
  for(i=0;i<4;i++){
   for(j=0; j<8; j++){
    select[i][j] = FALSE; //배열을 사용해서 선택여부 확인, 초기값 설정
   }
  }
  
  break;

 case WM_LBUTTONDOWN : // 왼쪽 버튼 누르면
  mx = LOWORD(lParam);
  my = HIWORD(lParam);
  
  x = mx / 50;
  y = my / 50;
   select[y][x] = TRUE; //마우스버튼을 클릭하면 x,y값을 받아 해당하는 위치 배열 값을 참으로 저장한다.
  
  InvalidateRgn(hWnd, NULL, TRUE); // WM_PAINT 메시지 발생;

  break;
 case WM_PAINT:
  hdc = BeginPaint(hWnd, &ps);
  // TODO: 여기에 그리기 코드를 추가합니다.
  for(i=0; i<8; i++){
   for(j=0; j<4; j++){
    Rectangle(hdc, i*50,j*50,(i+1)*50,(j+1)*50);
    if(select[j][i]){ //배열에서 값이 참인 것, 즉 선택된 위치만 원형을 그린다..
     Ellipse(hdc, i*50,j*50,(i+1)*50,(j+1)*50);
    }
   }
  }
  EndPaint(hWnd, &ps);
  break;



'프로그래밍' 카테고리의 다른 글

url에서 파일명, 확장자 추출  (0) 2013.05.02
제어문  (0) 2007.03.07
제어문  (0) 2007.03.06