본문 바로가기

공부/MFC

그림판 따라하기 진행중



마우스 커서를 바꾸어주는 메시지 핸들러 함수 의 코드 내용

BOOL CPaintView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
HCURSOR hCursor ;

switch(m_nDogu)//클릭된 도구에 따라 커서의 모양을 바꾸어 지정함.
{
case DPEN :
hCursor = AfxGetApp()->LoadCursor(IDC_PEN) ;
break ;

case DLINE :
hCursor = AfxGetApp()->LoadCursor(IDC_CROSS) ;
break ;

case DELLIPSE :
hCursor = AfxGetApp()->LoadCursor(IDC_CROSS) ;
break ;

case DRECT :
hCursor = AfxGetApp()->LoadCursor(IDC_CROSS) ;
break ;

case DROUNDRECT :
hCursor = AfxGetApp()->LoadCursor(IDC_CROSS) ;
break ;

case DFILL :
hCursor = AfxGetApp()->LoadCursor(IDC_FILL) ;
break ;

case DERASE :
return CView::OnSetCursor(pWnd, nHitTest, message) ;
break ;
}

SetCursor(hCursor) ;

return TRUE ;
}

순서대로 설명하면

hCursor 라는 커서 변수?[구조체?] 를 생성하고

각 케이스에 따라 미리 정의해둔 사용자 정의의 커서명을 로드해서 해당 커서 변수에 집어넣어줌.

마지막으로 변수를 현재 커서에 셋팅해주고 리턴.
 
 AfxGetApp()->LoadCursor(IDC_FILL) ; 

에서 IDC_FILL 은 사용자가 해당 프로그램의 res폴더 내에 이미지를 넣고 커서 이름도 정해줘야 오류가 발생하지 않는다. 


//////////////////////////////////////////////////////////

CObject::Serialize

MFC의 직렬화(Serialize)를 사용해, 오브젝트를 파일에 쓰고 읽는 방법

당연한 말이지만 앞의 CObject는 명사 가 아니고 문법 이다.

본 게시글이 아닌 전에 올려둔 소스의 내용으로는

새 파일 작성이나 불러오기 등이 아예 작동을 하지 않는다.[저장은 되는데..]

그런고로 다른 잘된 소스파일을 올려두는 것.

아아 저작권 법! 저작권!

은 출처 기재하면 됨 ㅎㅎ. 돈받고 파는것도 아니고..

근데 역추적해서 이거 출처 찾으려다 fail함. 

엌.

여튼 업로드.







CObject::Serialize 관련 참조 글 : http://urassa.tistory.com/184



본 글은 http://jolgame.tistory.com/216 에 있는 소스를 따라하면서

처음보거나 써두어야 할 만한 것을 적은 글이다.