목록2016/12/06 (4)
삽이 부서질 때까지 삽질
클릭한 곳에 도형이 생기고 화면이 분할이 되도록 만들어보자.응용 프로그램 종류 단일 문서프로젝트 스타일 : MFC 표준비주얼 스타일 전환 사용 사용자 인터페이스 기능 클래식 메뉴 사용도킹 가능한 클래식 도구 모음 사용분할 창 고급 기능 인쇄 및 인쇄 미리 보기 클릭한 곳에 도형이 생기게 좌표를 저장하는 변수를 추가하자. 생성이 될 때 초기화 되도록~ 왼쪽 클릭하면 도형이 생기도록 코드를 추가하자. 분할 윈도우를 사용하면 뷰가 두 개 이상이 되기 때문에 Invalidate 대신 UpdateAllViews 함수를 이용해 모든 뷰가 화면을 갱신하게 만들어야한다. 마지막으로 출력하게 하는 OnDraw에 출력되게 만든다.
응용 프로그램 종류 단일 문서프로젝트 스타일 : MFC 표준비주얼 스타일 전환 사용 문서 템플릿 속성 파일 확장명 : sdi 사용자 인터페이스 기능 클래식 메뉴 사용도킹 가능한 클래식 도구 모음 사용 고급 기능 인쇄 및 인쇄 미리 보기만 체크 vs2013 이상에서는 안해도 되지만 vs2010 이나 vs2012 을 사용하면 CoInitialize 함수를 추가해줘야 문서 파일을 마우스로 클릭해서 프로그램을 실행할 경우 에러가 발생하지 않는다고 한다.. [이 에러 때문에 많은 고생을...] sdi 확장명으로 저장했다가 키거나 아니면 드래그 앤 드롭을 하여 파일을 열면 저장한 이름으로 열리는 것을 확인할 수 있다.[제목 없음으로 저장한 뒤 열면 이렇게~] [이렇게도 뜨기도하고] 이제 SDI 에서 부가적인 기능을..
뭐... 이건 귀찮으니 전에 했던 예제로 바꿔보죠. [[MFC] 파일 저장 및 읽기(직렬화)] 기본 저장 방식은 파일인데 이걸 확장 메타파일 형식으로 바꾸려면 프로젝트 생성때 템플릿 속성에서 파일 형식에 emf로 주면 됩니다. 템플릿을 저장할 때 파일 형식을 emf 로 저장만 하면 끝난다.
간단하게 입력한 글자와 스타일 저장하는 예제를 만들볼게요. 뷰에서 도큐먼트 객체과 관리하기 때문에 [이름]DOC.h 에서 관리를 합니다.저는 FileIOTest로 지어서 FileIOTest.Doc.h 입니다. OnNewDocument 에서 변수를 초기화 하자[OnNewDocument 는 파일을 새로만들기 했을 경우 자동으로 호출하는 함수이다.] 클래스 뷰에서 CFileIOTestView 에 WM_CHAR 메세지를 추가한다. 입력한 글자를 도큐먼트 객체에 저장하기 위해서 GetDocument 함수를 이용해 도큐먼트 객체의 주소를 가져오고, SetModifiedFlag 함수로 데이터가 수정된걸 도큐먼트 객체에 알린다. 마지막에는 Invalidate 함수를 사용해 WM_PAINT 메세지를 발생시킨다. 준비가 ..