MFC 65

MFC에서 Microsoft Excel 워크시트를 포함시키고 자동화하는 방법

MFC에서 Microsoft Excel 워크시트를 포함시키고 자동화하는 방법 이 문서가 적용되는 제품 보기. 기술 자료 ID : 184663 마지막 검토 : 2007년 5월 15일 화요일 수정 : 5.0 요약 이 문서에서는 Microsoft Excel 워크시트를 SDI MFC 응용 프로그램의 View 개체에 포함시키는 방법을 설명합니다. 이 문서에는 워크시트를 포함시키고 일부 텍스트를 A1 셀에 추가하기 위한 단계별 지침뿐 아니라 각 단계를 설명하는 주석도 포함되어 있습니다. 이 문서에 나와 있는 예제 코드를 응용 프로그램에 붙여 넣을 수도 있지만 예제를 읽고 이해하는 것이 중요합니다. 추가 정보 Microsoft는 모든 보증(상품 및 특정 목적에의 적합성에 대한 묵시적인 보증을 포함하며 이에 제한되지 ..

MFC 2008.09.10

세 방향 분할 윈도우

세 방향 분할 윈도우 1) 정적 분할 윈도우 하나의 정적 분할 창을 다른 정적 분할 창의 구획들 중의 하나 안에 끼워 넣어서 세 방향 분할 창을 만들 수 있다. 다음의 OnCreateClient() 함수는 두 개의 구획이 수직으로 나누어져 있고, 그 왼쪽 열이 다시 수평으로 두 개의 구획으로 나누어진 세 방향 분할 창을 만든다. MainFrm.h에서는 굵은 글씨 부분이 고친 부분이고, MainFrm.cpp 의 OnCreateClient()함수는 전체를 그대로 타이핑해야 한다. 그리고 여기서 쓰일 View들은 미리 만들어 놓아야 한다. 다음은 OnCreateClient() 함수안에서 어떤 일이 발생하는가에 대한 개요이다. 1. CreateStatic을 이용하여 첫 번째 분할 창(m_wndSplitter)을..

MFC 2008.09.10

뷰(View) 동적으로 변경하기 - Dll 만들시 주의점

뷰(View) 동적으로 변경하기 CCreateContext 클래스 Base 클래스를 가지지 않음. 구조체로서 Frame 윈도우를 생성하고 document와 View가 연관되어질 때 사용하는 클래스 윈도우가 생성될 때 이 구조체의 값들은 document와 view를 구성하는 component을 연결하기 위한 정보를 제공 RUNTIME_CLASS 이용 지정하는 클래스에 대한 CRuntimeClass 구조체의 포인터를 리턴 DECLARE_DYNAMIC, DECLARE_DYNCREATE, DECLARE_SERIAL 매크로에 의해 선언된 CObject 파생 클래스만이 CRuntineClass 구조체 포인터를 리턴 BOOL CMainFrame::ChangeView() { //Set MultiDownFormView ..

MFC 2008.09.08

기본(일반, regular) MFC Dll 에서 다이얼로그 박스 등 로딩시 응용프로그램에서 메시지 보내주는 법

DLL 에 PreTranslateMessage와 OnIdle 관련 함수를 익스포트하고 응용프로그램에서 상기 메시지 처리부에서 보내주는 루틴을 구현하면 된다. 아래 참조) //main app에서 BOOL CXXXApp::OnIdle(LONG lCount) { // TODO: Add your specialized code here and/or call the base class if (CWinApp::OnIdle(lCount)) return(TRUE); ProcessDllIdle(); return(FALSE); } BOOL CXXXApp::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base c..

MFC 2008.09.08

MFC 모든 헤더와 라이브러리 설명 [1] - 헤더설명

MFC 모든 헤더와 라이브러리 설명 [1] - 헤더설명Programming Tools/Visual Studio .NET 2006/08/10 14:08 다음글은 하이텔 MFC소모임의 시삽이신 권정혁님의 글을 정혁님의 허락하에 다음과 같이 기재합니다. 허락해주신 정혁님께 감사드립니다. **************************************************************************** 이 글은 Mike Blaszczak 의 책 "Professional MFC" 의 Appendix D 에 들어있는 내용을 번역한 글입니다. 제 허락없이는 다른 어떤게시판에도 옮기실수 없습니 다. 물론 글의 원 소유자는 Mike 입니다. MFC&T 사용자 모임 시삽 권정혁 ============..

MFC 2008.09.06

MFC 모든 헤더와 라이브러리 설명 [2] - 런타임라이브러리 한글 번역

MFC 모든 헤더와 라이브러리 설명 [2] - 런타임라이브러리Programming Tools/Visual Studio .NET 2006/08/10 14:09 다음글은 하이텔 MFC소모임의 시삽이신 권정혁님의 글을 정혁님의 허락하에 다음과 같이 기재합니다. 허락해주신 정혁님께 감사드립니다. **************************************************************************** 이 글은 Mike Blaszczak 의 책 "Professional MFC" 의 Appendix D 에 들어있는 내용을 번역한 글입니다. 제 허락없이는 다른 어떤게시판에도 옮기실수 없습니 다. 물론 글의 원 소유자는 Mike 입니다. MFC&T 사용자 모임 시삽 권정혁 ========..

MFC 2008.09.06

msdn - 확장 dll 설명

MFC 확장 DLL은 일반적으로 기존의 MFC 라이브러리 클래스에서 파생된 다시 사용할 수 있는 클래스를 구현하는 DLL입니다. MFC 확장 DLL에는 다음과 같은 기능 및 요구 사항이 있습니다. 클라이언트 EXE는 _AFXDLL이 정의된 상태에서 컴파일된 MFC 응용 프로그램이어야 합니다. 동적으로 MFC에 링크한 기본 DLL에서 확장 DLL을 사용할 수도 있습니다. 확장 DLL은 _AFXEXT가 정의된 상태에서 컴파일되어야 합니다. 그러면 _AFXDLL도 정의되고 MFC 헤더 파일에서 올바른 선언을 가져올 수 있습니다. 또한 DLL을 빌드할 때 AFX_EXT_CLASS가 __declspec(dllexport)으로 정의될 수 있으며, 이러한 정의는 이 매크로를 사용하여 확장 DLL에 클래스를 선언할 경..

MFC 2008.09.06

protected 속성으로 런타임클래스를 사용해라?....고찰

mfc는 클래스마법사로 새로운 클래스를 생성시 기본적으로 protected로 생성자를 막아 놓는다. 대신 DECLARE_DYNCREATE - IMPLEMENT_DYNCREATE 매크로를 통해 런타임 다이나믹 크리에이션을 제공한다. 그래서 원칙적으로 아래와 같은 식으로 사용하도록 한다. m_pSwordView = (CSwordView*)(RUNTIME_CLASS(CSwordView)->CreateObject()); 그런데 이것은 좀 귀찮긴 하다. 그래서 보통 public으로 생성자를 선언하고 다음과 같이 사용한다 m_pSwordView = new CSwordView; 훨씬 간단하다...굳이 왜 저리 막아놨는지 모르겠다. 많은 사람들이 저리 사용하는데....다음 버전에서는 public으로 제발 좀 바꿔라....

MFC 2008.09.05

MDI 구조 스파이플러스로 살펴보기 - 분석

스파이로 mdi 샘플을 만들어서 살펴보았다.... 예측상 메인프레임 - 차일드 프레임 - 뷰 이렇게 3계층도로 이루어질 줄 알았는데.... 그 중간에 MDIClient 라는 클래스이름을 가진 윈도우가 위치함을 볼 수 있다. sdk에서 다중문서템플릿 작성할 경우 사용되는 클래스이다. mfc에서는 내부적으로 저 윈도우의 기능을 래퍼하고 있을 것이다. 구체적으로 메인프레임 자식이며 차일드프레임의 부모이다. 메인 프레임과 차일드 프레임 사이의 조정자 역할을 하고 있음을 볼 수 있다. 아래의 msdn 설명 참조 -------------------------------------------------------------------------------- MDI main frame windows (one per a..

MFC 2008.09.04

다이얼로그에 뷰 올리기

다이얼로그에 뷰 올리기 2007/12/09 14:32MFC에서 Application을 개발할 때, 간편함의 이유로 MDI나 SDI보다는 Dialog based로 개발하는 경우가 많다. 하지만 다이얼로그 위에 뷰를 올릴 수가 없기 때문에 프로그램 개발에 많은 제약을 안을 수 밖에 없다. 이 문제를 다음과 같은 방법을 통해 다이얼로그에 뷰를 올릴 수 있도록 함으로써 보다 많은 융통성을 얻을 수 있다. 1.      다이얼로그 클래스에서A.     멤버 변수를 추가해준다. 사용할 뷰의 이름이 CContentsView라고 할 때:CCreateContext         m_context;CContentsView          *m_pView; B.     On..

MFC 2008.09.04