ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Win api - draw 2
    카테고리 없음 2020. 4. 12. 23:36

    <주의할 점>
    - 디버그 중단점
    - 자원 반환

     


    <의심점>
    1. 마우스 포인터 위치 오류 (위치 잘못 받아옴)
    -> 포인터 확인을 못하니까 GetCursorPos() 함수를 몰랐음. 그래서 찾아봤는데 x,y 가 있어서 중단점 걸어서 확인해봄
    2. bool 변수 오류 -> static 을 붙이는 이유. 
    3. 마우스 포인터 컴마 오류 (winproc 초기화 문제)
    4. WM_PAINT 접근 오류
    -> rectangle() 그려봄
    5. WM_LBUTTONDOWN / WM_LBUTTONUP 접근 오류

    -------> WM_PAINT 한번만 호출됨

    GetCursorPos() -> 모니터 전체 스크린을 기준으로 좌표값을 가져옴.
    ScreenToClient() -> 가져온 커서값을 Client 를 기준으로 만들어주기 위한 함수. (스크린 좌표 - 클라이언트 좌표)

    ---------> 문제점 결론
    SetPixel() 으로 저장한 픽셀값을 저장해서 for문을 돌며 다시 그려줄 저장공간이 없어서 계속 그려졌다가 삭제되기를 빠르게 반복. => 보기에 보이는게 없어서 실행이 안 되는 것으로 보임
    ----------> 해결 방법
    GetCursorPos() 로 가져온 커서 위치값을 자료구조 (그림 툴이라면 이왕이면 스택) 로 저장하여 계속 그려줄 수 있도록 함.

     

     


    WM_CHAR: -> 텍스트 발생시 불러오는 메세지
    InvalidateRect(hWnd, NULL, false); // 화면갱신
    lpRect -> 윈도우 갱신 영역 rect로 지정 , bErase -> 이전에 그렸던 것을 남기느냐 마느냐

    intersectRect()
    -> 사각형끼리의 충돌 구하기
    ptinRect()
    -> 포인트 (구조체) 와 사각형의 충돌 구하기

Designed by Tistory.