프로그래밍/MFC
-
-
MDI(Multi Document Interface)프로그래밍/MFC 2005. 6. 24. 05:38
오늘은.. 드디어 멀티 도큐먼트..먼저 SDI 때와 다른점을 살펴보면.. CMainFrame 클래스가CMDIFrameWnd를 상속 받는다.그리고CChildFrame 클래스는CMDIChildWnd를 상속받는다.CMDIFrameWnd와CMDIChildWnd의아버지 클래스는 CFrameWnd이다. App 클래스의InitInstance함수를 보면CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_BMPTYPE, // 메뉴와 연결된다. RUNTIME_CLASS(CMDItest2Doc), RUNTIME_CLASS(CChildFrame), // 차일드프레임.. RUNTIME_CLASS(CMDItest2View)); AddDocTempl..
-
MFC 에서 쓰레드 관련한 글프로그래밍/MFC 2005. 6. 24. 05:38
MFC 프로그래밍에서 거의 100% 들어맞는 원칙이 하나 있습니다.비슷한 기능을 하는 함수가 C/C++ 런타임 라이브러리 API 버전이 있고 앞에 Afx가 붙은 MFC 버전이 있다면 무조건 Afx가 붙은 버전을 써야 한다는 겁니다.예를 들어, LoadLibrary 같은 것도 MFC에선 AfxLoadLibrary를 써야 합니다. 이런 얘기를 꺼내는 건 다름이 아니라많은 분들이 MFC에서 _beginthread나 CreateThread를 이용해서 스레드를 만든 다음그 스레드에서 CWinApp, CView 등의 인스턴스에 액세스하면서 에러를 경험하시는 것 같아서 입니다. (1) MFC 오브젝트는 '스레드 안전'하지 않습니다.동일한 오브젝트를 두 스레드에서 동시에 사용하려고 하면 맛 갈 수 있습니다 (2) MF..