IT/MFC

view 관련해서 ...

KSI 2005. 6. 24. 05:40

1 . 뷰에서 DC 얻으려면 -  CClientDC 이용

 

2. 새파일(new버튼) 눌렀을때 날라오는 메세지.

    뷰          - OnInitalUpdate()

 

    도큐먼트 -   DeleteContents

                     OnNewDocument()

 

 

3. 스크롤 뷰로 만들었어야 되는데 일반 뷰로 만들었을때

   - 뷰클래스의 h,cpp 파일에서  뷰클래스를 전부다 스크롤뷰로 replace 해주고

     클래스 위자드에서 OninitalUpdate 추가해준다.

 

4. 스크롤 뷰로 만들었을때 스크롤 사이즈 Set 해주는 부분

   - OnInitalUpdate 

 

5. MY뷰클래스를 다른 클래스 등에서 얻는 방법!!

     * 첫번째 방법

        -  CMyApp 클래스에 멤버변수 추가 ( CView *m_pView)

        -  theApp 를 extern 으로 선언 한다

       -  뷰의 OnCreate 부분에서  theApp.m_pView = this; 이렇게 해주고

          다른클래스에서는 theApp.m_pView  을 접근해서 사용한다 .!!!

 

     * 두번째 방법

       -  CMainFrm *pFrm       = (CMainFrm*) AfxGetMainWnd();    //  my메인 프레임을 얻는다

       -  CMyDlgView *pView = (CMyDlgView*)(pFrm->GetActiveView());

        

 

6. 만약 프로젝트를 폼 뷰로 만들었을때  OnCreate 부분에서 뷰안의 컨트롤의 값을 얻으면

  안된다. ( GetDlgItem 등의 함수로..)   이유는  OnCreate 함수 호출후 컨트롤 등이 만들어

  진다..     OnCreate 에서 하지 말고 OnInitalUpdate 에서 하면된다~~ 

 

 

7. 뷰에서 GetParent() 하면  메인프레임의 CWnd 리턴한다 .

  즉 , 뷰의 부모는 프레임이다 ..