Select the product you need help with
How to use the CFormView class in single document interface (SDI) and multiple document interface (MDI) applicationsArticle ID: 98598 - View products that this article applies to. This article was previously published under Q98598 On This PageNote Microsoft Visual C++ .NET (2002) supports both the managed code
model that is provided by the Microsoft .NET Framework and the unmanaged native
Microsoft Windows code model. The information in this article applies only to
unmanaged Visual C++ code. Note Microsoft Visual C++ 2005 supports both the managed code model that is provided by the Microsoft .NET Framework and the unmanaged native Microsoft Windows code model. SUMMARY The CFormView class provides a convenient method to place
controls into a view that is based on a dialog box template. The general
procedure to use a CFormView is described in the documentation for the class
and is illustrated in the VIEWEX and CHKBOOK sample applications provided with
Microsoft Foundation Classes (MFC) versions 2.x and above. However, these
applications do not demonstrate making the initial size of the frame window to
be the same as the initial size of the form. The following section lists the steps required to support creating a single document interface (SDI) or multiple document interface (MDI) application based on a CFormView, sizing the initial frame window around the form, changing the style of the frame, and closing an MDI document using a button in the form. MORE INFORMATION The following steps describe how to create an MFC AppWizard
application using the CFormView as the default view:
Changing the Size of an SDI Main Frame Around a CFormViewTo change the size of the main frame of an SDI application (that uses CFormView as its view class) to be the appropriate size for the form you designed in App Studio, override the OnInitialUpdate() function in your class derived from CFormView, as follows:Changing the Size of an MDI Child Frame Around a CFormViewThe process of changing the size of an MDI child frame is similar to changing the size of a main frame for an SDI application, as explained above. However, the RecalcLayout() call is not required.To change the size of an MDI child frame around a form view, override the OnInitialUpdate() function in your class derived from CFormView as follows: To change the style of the MDI child frame (for example, to remove the WS_THICKFRAME style so the user cannot change the size of the window), derive an MDI child window class and override the PreCreateWindow function as demonstrated in the SDI example above. Closing an MDI Form with a ButtonTo create a button on a form that closes the document add a message handler for the BN_CLICKED message to the CFormView class. Make sure that the buttons in CFormView do not have the default IDOK or IDCANCEL identifiers. If they do, then incorrect entries in the message map and incorrect functions for the buttons will be created.Once the message handler is in place, you can simulate the Close command on the File menu with the following code: PropertiesArticle ID: 98598 - Last Review: January 5, 2006 - Revision: 4.0 APPLIES TO
|


Back to the top








