PRB: Multiple CEditViews on Document Don't Behave as Expected (111017)



The information in this article applies to:

  • The Microsoft Foundation Classes (MFC), when used with:
    • Microsoft Visual C++ 1.0
    • Microsoft Visual C++ 1.5
    • Microsoft Visual C++ 1.51
    • Microsoft Visual C++ 1.52
    • Microsoft Visual C++, 32-bit Learning Edition 4.0
    • Microsoft Visual C++, 32-bit Professional Edition 2.0
    • Microsoft Visual C++, 32-bit Professional Edition 2.1
    • Microsoft Visual C++, 32-bit Professional Edition 4.0

This article was previously published under Q111017

SYMPTOMS

If you write an application that uses multiple CEditView views for one document, you will find that changes to one view will not be reflected in the other views. This behavior will also be seen with splitter windows when the panes are CEditViews.

CAUSE

The CEditViews are effectively edit controls. This means that the text in a CEditView is stored in the view rather than the document object. Normally, when the document needs to serialize (load or save), it calls the CEditView's SerializeRaw() member function.

RESOLUTION

This is expected behavior and is not a problem in the Microsoft Foundation Class Library.

MORE INFORMATION

For an application that makes use of the CEditView's SerializeRaw() member function, please see the SuperPad example included in the Visual C++ MFC samples. The following are the default installation directories or distribution CD directories of the SuperPad sample:
    Visual C++ version  |         Directory
  --------------------------------------------------------------
          1.0           |  \MSVC\MFC\SAMPLES\SUPERPAD
          1.5x          |  \MSVC15\MFC\SAMPLES\SUPERPAD
          2.x           |  \MSVC20\SAMPLES\MFC\SUPERPAD
          4.0           |  \MSDEV\SAMPLES\MFC\OLE\SUPERPAD
				

Modification Type:MajorLast Reviewed:12/1/2003
Keywords:kbDocView kbprb KB111017