본문 바로가기

[MFC] MDI의 구조 [이미지 출처 : http://skmagic.tistory.com/entry/MFC-%EA%B8%B0%EB%B3%B8-%EA%B5%AC%EC%A1%B0 ] 위 그림을 기본으로 공부하고 MFC를 다룬다면 아마도 조금이라도 덜 헤멜 것이라 생각합니다.사실 제가 헤메고 있기 때문이지요! 저 그림 중에 제가 부분이나마 이해하고 있는 부분은 CMyApp, CMyView, CMyDoc, CDocTemplate, CFrameWnd 정도 이겠군요...이렇게 낮은 이해도를 가지고 MFC 프로그램을 만들고 있으니 어찌 헤메지 않겠습니까...아직 본격적(회사)으로 하시기 이전인 분들이 계시다면 이런 지식을 튼튼히 하고 가셔야 실제 작업할 때 시간을 아낄 수 있습니다. 이런 구조가 머릿속에 있으면서 요구조건을 받는다면 방법을.. 더보기
[MFC] MDI 리본UI, APP에서 비활성 View 포인터 얻기 POSITION posTemplate = NULL, posDocument = NULL, posView = NULL;CMultiDocTemplate* pDocTemplate = NULL;CDocument* pDoc = NULL;CRetouchView* pView = NULL; // 템플릿 포지션 얻기posTemplate = theApp.GetFirstDocTemplatePosition();{pDocTemplate = (CMultiDocTemplate*)GetNextDocTemplate(posTemplate); // 첫번째 템플릿 // 도큐먼트 포지션얻기posDocument = pDocTemplate->GetFirstDocPosition();pDoc = pDocTemplate->GetNextDoc(posDo.. 더보기
[MFC]프로그램 실행 흐름 요약 프로젝트 이름은 Temp라고 했을 때,각 추적점 및 TRACE를 추가하여 프로그램을 실행시킨 결과는 다음과 같다.이 결과는 소스코드의 어느 클래스의 어느 함수부터 순서대로 실행되는지를 잘 보여주는 예이며,이 실행흐름을 잘 알아둬야 한다고 한다!! CTempApp::CTempApp() ------ App 클래스 변수가 전역변수로 선언되어있으므로 제일 먼저 생성자가 호출된다CTempApp::InitInstance() ------ MFC 코드에 숨겨진 AfxWinMain함수에서 호출된다. (프로그램의 설정정보 로딩, 파라미터 처리등을 담당)CTempDoc::CTempDoc(void) ------ InitInstance()에 의해 Document 객체가 제일먼저 생성된다CMainFrame::CMainFrame(.. 더보기
[MFC]리본 UI에서 토글 버튼을 만들기 MFC에서 리본 UI는 메뉴항목을 띄우는 대신 리본 UI를 입힌 개념이라고 합니다. 그래서 토글버튼을 만드는 방법도 다릅니다. (체크박스 버튼을 만들고 속성을 변경하는 방법이 아닌...!) 단계순으로 간단히 설명하면. 1. InitializeRibbon()에서 패널추가, 버튼을 추가합니다.2. 리소스 -> 메뉴 -> IDR_(ProjectName)TYPE에서 메뉴를 추가(위치는 자유입니다.)3. 그 메뉴의 캡션과 ID를 정하고 이벤트 처리기를 추가합니다. 이때 UPDATE_COMMAND_UI를 선택합니다.4. 다음과 같이 코드를 만듭니다.void CMainFrame::OnUpdateButton1(CCmdUI *pCmdUI){if (TRUE == bBoolValue){pCmdUI->SetText(_T("이.. 더보기
가치를 실은 글, 가치를 덜 실은 글 요즘은 그런생각을 해봅니다.인턴을 하면서 취준생이었던 때보다 블로그에 신경을 많이 쏟지 못합니다. 종종 폰으로 블로그의 유입되는 숫자나 키워드를 보는게 전부입니다. 그리고 종종 번역작업을...(신경쓰지 않으려해도 결국은...털썩) 키워드를 보면 항상 드는 생각입니다만 공을 많이 들인 글에는 크게 사람들이 몰리지 않는 다는 점이 조금은 아쉽습니다.(google, bing에서 오시는 분들은 키워드를 알 수 없기때문에 제가 공들인 글을 보실지도 모른다고 생각하고 있습니다.) 네이버가 매우 많은 사람들이 사용하다보니 제가 메모한듯이 쓴내용이나 공을 많이 들이지 않은 글로 많이 들어오시는거 같기도 합니다.물론 주로 들어오시는 내용이 아마도 제 글중에서는 그나마 대중성을 가진 글인지도 모르겠습니다만내심 번역글에 대.. 더보기