본문 바로가기

공부/MFC

MFC 자작 프로그램 MCP 프로그램 다운 프로그램 소스 공개 분할 압축이라 다운은 전부 받으셔야 합니다. 간단한 프로그램입니다. 공부할겸해서 자작. 마우스 클릭 연습을 위해 만들었습니다. 으으. 이게뭔 ㅋㅋ 더보기
BEGIN_MESSAGE_MAP BEGIN_MESSAGE_MAP와 END_MESSAGE_MAP Begins the definition of your message map. BEGIN_MESSAGE_MAP(theClass, baseClass ) ParameterstheClassSpecifies the name of the class whose message map this is.baseClassSpecifies the name of the base class of theClass.RemarksIn the implementation (.cpp) file that defines the member functions for your class, start the message map with the BEGIN_MESSAGE_MAP macro,.. 더보기
error LNK2001 : 구조체의 주소를 외부 파일에서도 참조할 시 뜨는 에러. 왜 발생하는가 -> extern struct_wpt* m_ptWptAll; 이런식으로 정해두고나서 쓰질 정의된 것이 없기때문에 참조를 하지 못하여 에러가 뜨는 것. 구글링을 해서 검색을 하면 무슨 라이브러리를 추가해야한다는둥 하는데 그냥 코딩을 잘못 한 것인 경우일 확률이 더 높다. 왜 저게 잘못되었냐.. 면 struct_wpt* m_ptWptAll; 라는 문장을 코딩하지 않아서 이다. 위에 extern struct_wpt* m_ptWptAll; 라고 코딩한 내용은 선언이지 정의가 아니다. 다시 말해서 위의 extern 문은 프로그램안에 이런 변수가 있다고 알려주는 역할 밖에는 하지 않는다. 변수의 영역을 잡아주지도 않았는데 어떻게 참조할 수가 있겠는가? 그런고로 .cpp 파일중 하나에서 struct_w.. 더보기
메뉴의 체크표시 변환 C++, MFC void CMainFrame::OnUpdateWindow3(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here if(m_nWindowNum==3) pCmdUI->SetCheck(TRUE); else pCmdUI->SetCheck(FALSE); } 구글에서 검색해보면 대부분 이런식으로 SetCheck 를 사용하는 것들에 대한 글이 대다수이다. 하지만 이 방식은 대화상자를 특정 방식으로 생성했을 때에만 작동하며 그 이외에는 작동하지 않는다. 이럴때에 CMenu *hMenu = GetMenu(); if(hMenu->GetMenuState(해당 메뉴의 아이디, MF_BYCOMMAND) != MF_CHECKED){ hMenu->Check.. 더보기
MFC 프로그래밍에서 printf 함수를 출력하는 방법 비쥬얼 스튜디오 2008에서 MFC 프로그래밍을 하게되면, stdafx.cpp 파일이 프로젝트 내에 존재하게 된다. 이 파일에 아래의 내용만 추가해주면 된다. #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") 다시 보이지 않게하려면 주석처리를 하던가 해당 문구를 삭제하면된다. 해당 문구 만 집어넣은 상태의 stdafx.cpp파일은 다음과 같은 코딩이 되어있을 것이다. // stdafx.cpp : 표준 포함 파일만 들어 있는 소스 파일입니다. // TRANS.pch는 미리 컴파일된 헤더가 됩니다. // stdafx.obj에는 미리 컴파일된 형식 정보가 포함됩니다. 더보기