IT/MFC 12

.rc 에 바이너리 리소스 첨부하기

.rc 에바이너리 리소스 첨부하기 1. 자신을 오픈하는 방법 CreateFile()에 FILE_SHARE_READ 옵션을 주시면 가능할 것도 같은데 해보지 않아서 장담 할 수 없군요. 2. 실행 파일에 합치는 방법 프로그램의 리소스에 바이너리 데이터를 추가할 수 있습니다. 컴파일이 될 때 합쳐집니다. (프로젝트명).rc2에 아래와 같이 추가합니다. ///////////////////////////////////////////////////////////////////////////// // Add manually edited resources here... IDR_DATA1 DATA Data.zip ///////////////////////////////////////////////////////////..

IT/MFC 2006.08.11

[MFC] 임의의 클래스 포인터 얻기(SDI)

* 프로젝트 이름은Test라고 가정. * 중간에 참조되는 모든 클래스의 헤더파일이 인클루드 되어야 함.* 뷰의 헤더가 인클루드 된다면 반드시 그 앞에 도큐먼트의 헤더가 인클루드 되어야 함. 1. 애플리케이션 클래스의 포인터를 얻을 때CWinApp* AfxGetApp() 2. 메인프레임 클래스의 포인터를 얻을 때CWnd* AfxGetMainWnd() 이들 두 함수는 MFC의 전역함수로써 프로그램을 작성하는 도중 어디에서나 사용할수 있다. MFC에서는 Afx~로 시작하는 함수들은 모두 전역함수를 의미한다. 물론 타입 캐스팅을 해야하며, 사용법은 다음과 같다.CTestApp *pApp = (CTestApp *)AfxGetApp(); CMainFrame *pFr = (CMainFrame *)AfxGetMainW..

IT/MFC 2005.06.24

view 관련해서 ...

1 . 뷰에서 DC 얻으려면 - CClientDC 이용 2. 새파일(new버튼) 눌렀을때 날라오는 메세지. 뷰 - OnInitalUpdate() 도큐먼트 - DeleteContents OnNewDocument() 3. 스크롤 뷰로 만들었어야 되는데 일반 뷰로 만들었을때 - 뷰클래스의 h,cpp 파일에서 뷰클래스를 전부다 스크롤뷰로 replace 해주고 클래스 위자드에서 OninitalUpdate 추가해준다. 4. 스크롤 뷰로 만들었을때 스크롤 사이즈 Set 해주는 부분 - OnInitalUpdate 5. MY뷰클래스를 다른 클래스 등에서 얻는 방법!! * 첫번째 방법 - CMyApp 클래스에 멤버변수 추가 ( CView *m_pView) - theApp 를 extern 으로 선언 한다 - 뷰의 OnCre..

IT/MFC 2005.06.24

CDocument 멤버함수및 기타 설명

CDocument Class MembersConstructionCDocumentConstructs aCDocumentobject. OperationsAddViewAttaches a view to the document.GetDocTemplateReturns a pointer to the document template that describes the type of the document.GetFirstViewPositionReturns the position of the first in the list of views; used to begin iteration.- 첫번째 뷰의 포지션을 얻는다 .( 포지션 얻은후 GetNextView 와 함께사용)GetNextViewIterates through the..

IT/MFC 2005.06.24

도큐먼트 관련해서

1. 새파일 버튼 눌렀을때 발생하는 함수 - DeleteContents - OnNewDocument 2 . 파일열기 했을때 발생하는 함수 - OnOpenDocument() -> Invalidate 알아서 호출해준다(뷰클래스의 OnDraw 호출해줌) 3. 파일 SAVE 관련 - SetModifiedFlag 설정했을때 저장한다고 ok 누르면 OnSaveDocument(...) 함수 호출한다. ( 메뉴의 ID_FILE_SAVE 을 오버라이드 해도 OnSaveDocument(...) 함수 호출 ) - 메뉴의 ID_FILE_SAVE 을 오버라이드하고 OnSaveDocument(...)도 오버라이드 했을때 일반저장등은 ID_FILE_SAVE 함수 호출하고 SetModifiedFlag 은 OnSaveDocument(..

IT/MFC 2005.06.24

MDI(Multi Document Interface)

오늘은.. 드디어 멀티 도큐먼트..먼저 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..

IT/MFC 2005.06.24