?? ????????? ??????? (SDI) ?? ???? ????????? ??????? (MDI) ??????????? ??? CFormView ???? ?? ????? ???? ????

???? ID: 98598 - ?? ???????? ?? ?????? ??? ?? ?? ???? ???? ???? ??.
??? ?? ??????? ???? | ??? ?? ??????? ????

?? ????? ??

???:Microsoft Visual C++ .NET (2002) Microsoft .NET Framework ?????? ??? ?? ??? ?? ???????? ???? ?? ????????? ??? Microsoft Windows ??? ???? ?? ?????? ???? ??? ?? ???? ??? ?? ?? ??????? ???? ????????? ????? C++ ??? ?? ??? ???? ???? ???

???:Microsoft Visual C++ 2005 Microsoft .NET Framework ?????? ??? ?? ??? ?? ???????? ???? ?? ????????? ??? Microsoft Windows ??? ???? ?? ?????? ???? ???

??????

CFormView ???? ??? ?? ?? ????? ????? ???????? ?? ?????? ??? ????? ???????? ???? ????????? ?????? ?? ?????? ????? ??? ??? CFormView ?? ????? ???? ?? ??? ??????? ????????? ?? ???? ?? ??? ???????? ??? ????? ???? ??? ?? ?? illustrated VIEWEX ?? CHKBOOK ????? ??????????? ??? ??? ?? Microsoft ????????? ???? (MFC) ??????? 2.x ?? ??? ?????? ???? ?? ??? ???????, ?? ????????? ???? demonstrate ??????? ?? ????????? ???? ?? ??? ??? ?? ????? ????? ?? ????????? ???? ????

????? ??? ?? ????????? ??????? (SDI) ?? ?? ?? ???? ????????? ??????? (MDI) ????????? ???? CFormView, ??????? ?? ??-??? ????????? ????? ????? sizing ????? ?? ???? ?????, ?? ???? ??????? ??? ??? ??? ?? ????? ???? ??? MDI ???????? ?? ??? ???? ?? ?????? ????? ?? ?????? ???? ?? ??? ?????? ????? ?? ???? ???? ???? ???

???? ???????

????? ????? ?? ????? ???? ?? MFC AppWizard ????? ?? ??? ???? ????????? CFormView ?? ???????? ????? ?? ??? ??? ????? ????:
  1. SDI ?? MDI ????????? ????? ?? ??? AppWizard ?? ????? ????? ?????? ????? ?? ???? ????????? ?? ??? ??? ??? ??????? ?? ??? ?? ?? ????? ????? ???????? ???????? ???? ????

    ????? Studio 6.0:

    ??? 6 AppWizard ??, ?? ????? ???? ?? ??? ????? ????????? ?????????? ????? ???, ?? ??? ????CFormView????????? ???? ?? ???CFormView?? ??? ??? ???? ???? ???

    ????? Studio .NET ?? Visual Studio 2005:

    ??? 1 ??? AppWizard ??, ??? ??????????? ????. ????????? ?????????? ????? ???, ?? ??? ????CFormView????????? ???? ?? ???CFormView?? ??? ??? ???? ???? ???
  2. ????? ?? ??????? ???????? ?? ???? ?????? ???? ?? ??? ?? ???? ?? ????? ???? ?? ??? CFormView ?????????? ??? ????? ?? ??? ??? UpdateData() ?? ??? ???? ?? OnUpdate() ????? ?????? ??????? (DDX) ?????? ???

    ???:: UpdateData ??????? ???? ??, ?? ????????? ???? ???? ?? ??? ???? ?? derived ???? DoDataExchange ???? polymorphism ?? ?????? ?? ??? ???? ??? CFormView ???????? ?????????, ?? ??? ???? ?? ??? ??????? UpdateData ???? ???
  3. ??????? ????? ?? ????????? ???? ??? ???? ?? ??? ?? ????? ???, ??? ??????? OnInitialUpdate() ???????? ????? ??? ?? ?? ???, ?? SDI ?? MDI ????????? ??? ???? ????? ?? ?? ???? ??? ???????? ??????? ???? ???

??? CFormView ??-??? ?? SDI ????? ????? ?? ???? ?????

????????? Studio ??? ??????? ??????? ?? ??? ??????? ???? ?? ???? ?? ??? SDI ????????? (?? CFormView ???? ????? ???? ?? ??? ??? ????? ???? ??) ?? ?????? ????? ?? ???? ?????, ??? ???? ???? ?? ?? ??? ???, CFormView ?? ??? OnInitialUpdate() ?????? ??????? ????:
      void CMyFormView::OnInitialUpdate()
      {
         CFormView::OnInitialUpdate();
         GetParentFrame()->RecalcLayout();
         ResizeParentToFit(); // default argument is TRUE
      }
				
?? ?????????? ????????? ????? ????? ?? ???? ????? ?? ???? ????? ?? ?? ResizeParentToFit() ?????? ??????? ???? ??? (??????? ???????? ????? ???? ??? ???????? ??? ?? ??? ?????? ??)? ????? ????? ?? ???? ??????? ????? ?????? ?? ?? ?? ???? ?? ??????? ???? ?? ??? ?? AppWizard ?????? ??????? ?? ?? CMainFrame ???? ??? PreCreateWindow() ?????? ?? ??????? ?? ???? ???? ?????? ?? ???, WS_THICKFRAME ???? ???????, ?? ????? ?? ???? ????? ?? ?????????? ?? ?????, PreCreateWindow() MAINFRM.H ??? ????? ?? MAINFRM.CPP ???? ?? ??? ????? ??? ??????:
      BOOL CMainFrame::PreCreateWindow(CREATESTRUCT &cs)
      {
         cs.style &= ~WS_THICKFRAME;
         return CFrameWnd::PreCreateWindow(cs);
      }
				

??-??? ?? CFormView MDI ?????? ????? ?? ???? ?????

??? explained ?? ??? ??? ??? MDI ?????? ????? ?? ???? ????????? ???? ?? ????????? ??? SDI ????????? ?? ??? ??? ????? ????? ?? ???? ????? ?? ??? ???? ??? ???????, RecalcLayout() ??? ?????? ???? ???

???? ??????? ????? ?? ??-??? MDI ?????? ????? ?? ???? ?????, ???? ???? ?? ??????????? CFormView ?? ??? ??? OnInitialUpdate() ?????? ???????:
      void CMDIFormView::OnInitialUpdate()
      {
         CFormView::OnInitialUpdate();
         ResizeParentToFit(); // Default argument is TRUE.
      }
				
??? ????????? ??????? ResizeParentToFit() ????? ???? ?? ??? ??????? ???? ??, essentially ???? consequences ??, ?? SDI ????????? ?? ??? ?? ??? ??? ??? explained ?? ??? ??? ??? ???? ?????, ?????? ????? ???? ??? enclosing MDI ????? ????? ?? ??? ?? ???? ??????? ?? ??? ?? ???? ???

(?????? ?? ???, ????? ?????????? ????? ?? ???? ???? ??? ???? WS_THICKFRAME ???? ?? ??????? ?? ???) MDI ?????? ????? ?? ???? ?? ????? ?? ??? MDI ?????? ????? ???? derive ?? ??? SDI ?????? ??? demonstrated ?? ??? ??? PreCreateWindow ?????? ??????? ?????

???? ??? ?? ??? ??? MDI ??????? ??? ?? ??? ??

????? ?? ??? ???????? ?? ??? ???? ?? ?? ???? ??????? ?? ?? ??? ?????? BN_CLICKED ????? ?? ??? ??? ????? ?????? CFormView ???? ?? ???? ????????? ???? ?? CFormView ??? ??? ??????? IDOK ?? IDCANCEL ?????????? ???? ??? ???? ??? ??? ?? ???? ??, ???? ??? ???? ???????????? ?? ????? ??? ?? ??? ?? ??? ???? ??????? ??? ????? ??????

????? ?????? ????? ?? ??, ?? ??? ?? ????? ?? ??? ???? ???? ???????? ?? ???? ??? ' ???? ?? ????? ???:
      void CMyForm::OnClickedButton1()
      {
         PostMessage(WM_COMMAND, ID_FILE_CLOSE);
      }
				
??????? ?? ??? ???? ?? ??? ?? ?????? ?? ?????????? ?? ???????? ?? ??? ?????? IsModified() ????? ?????? ?? TRUE ???? ?? ??? ????? ?? ?????? ?? ??? ????? ???? ???

???

???? ID: 98598 - ????? ???????: 02 ?????? 2010 - ??????: 3.0
???? ???? ???? ??:
  • Microsoft Foundation Class Library 4.2, ?? ???? ??? ?????? ???? ???:
    • Microsoft Visual C++ 1.0 Professional Edition
    • Microsoft Visual C++ 1.52 Professional Edition
    • Microsoft Visual C++ 2.1
    • Microsoft Visual C++ .NET 2003 Standard Edition
    • Microsoft Visual C++ .NET 2002 Standard Edition
    • Microsoft Visual C++ 2005 Express Edition
??????: 
kbdocview kbhowto kbmdi kbuidesign kbmt KB98598 KbMthi
???? ?????? ????????
??????????: ?? ???? ?? ???? ??????? ?? ????? ?? Microsoft ????-?????? ?????????? ?????? ?????? ???? ??? ??. Microsoft ???? ??? ????-???????? ?? ????-???????? ????? ?????? ?? ???? ???????? ???? ?? ???? ????? ????? ??? ?? ??? ?????? ?? ???? ???? ???? ??? ????? ??. ???????, ????-???????? ???? ????? ???? ???? ???? ???. ?????, ????????, ?????-???? ?? ??????? ?? ???????? ?? ???? ???, ???? ?? ??? ?????? ???? ???? ??? ????? ??? ?? ???? ??. Microsoft ??????? ??? ???? ?? ?????? ?? ??????????, ????????? ?? ??? ?????? ?? ???? ????? ?? ???? ???????? ?? ??? ???? ????? ?? ??? ????????? ???? ??. Microsoft ????-?????? ?????????? ?? ????? ?????? ?? ?? ??? ??.
?????????? ?? ??????? ????????? ??????? ??:98598

??????????? ???