MFC CDocument 类 公共方法:CDocument::CanCloseFrame
CDocument::CanCloseFrame 是 MFC(Microsoft Foundation Classes)框架中 CDocument 类的一个公共方法。这个方法主要用于确定文档是否可以安全地关闭。在 MFC 应用程序中,文档通常与框架窗口(frame window)相关联,而关闭文档可能涉及到保存未保存的更改、询问用户是否保存等操作。以下是关于 CDocument::CanCloseFrame 方法的一些概要信息:BOOL CanCloseFrame(CFrameWnd* pFrameArg);参数: pFrameArg:指向框架窗口的指针,表示试图关闭的框架窗口。返回值: 返回一个 BOOL 类型的值,指示是否可以安全关闭文档。如果返回 TRUE,则文档可以关闭;如果返回 FALSE,则文档不能关闭。功能: 此方法通常在尝试关闭框架窗口之前被调用。它允许文档对象执行一些清理工作,如保存更改、询问用户是否保存等。如果文档成功关闭,该方法应返回 TRUE;否则,返回 FALSE。示例:BOOL CMyDocument::CanCloseFrame(CFrameWnd* pF...
MFC CDocument 类 公共方法:CDocument::AddView
在 MFC(Microsoft Foundation Classes)中,CDocument::AddView 不是 CDocument 类的公共方法。实际上,CDocument 类没有 AddView 这个公共方法。如果你需要在文档对象中添加视图对象,通常是通过文档-视图架构的机制实现的,而不是直接调用 AddView 方法。在 MFC 中,文档对象和视图对象之间的关系是通过文档模板(CDocTemplate)来管理的。文档模板(CDocTemplate)会关联文档类和视图类,并在创建新文档时创建相应的视图。你可以使用 AddDocTemplate 方法来向应用程序添加文档模板,这样在创建新文档时,相关的视图也会被创建。以下是一个简单的示例:// 在应用程序初始化中添加文档模板BOOL CMyApp::InitInstance(){ // 创建主窗口框架 CMainFrame* pMainFrame = new CMainFrame; if (!pMainFrame->LoadFrame(IDR_MAINFRAME)) return FALSE;...
MFC CDocument 类 公共构造函数:CDocument::CDocument
在 MFC(Microsoft Foundation Classes)中,CDocument 类的构造函数 CDocument::CDocument 是一个公共构造函数,用于创建 CDocument 类的实例。以下是 CDocument::CDocument 构造函数的简要说明:CDocument();CDocument 类的构造函数通常用于初始化文档对象的成员变量、数据结构等。在派生自 CDocument 的自定义文档类中,你可以扩展这个构造函数以执行特定的初始化操作。使用示例:class CMyDocument : public CDocument{public: CMyDocument(); // 自定义文档类的构造函数};CMyDocument::CMyDocument() : CDocument(){ // 在这里执行自定义文档类的初始化操作}在实际应用程序中,你通常会创建自己的文档类,从 CDocument 派生,并在自己的构造函数中执行初始化。这个构造函数通常由框架代码自动调用,而不需要显式地在应用程序代码中调用。
MFC CDocTemplate 类 公共方法:CDocTemplate::SetServerInfo
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::SetServerInfo 是 CDocTemplate 类的一个保护方法,用于设置文档模板的服务器信息。以下是关于 CDocTemplate::SetServerInfo 方法的简要说明:virtual void SetServerInfo(UINT nIDOleEmbed, UINT nIDOleLink, COleFrameHook* pOleFrameHook); 参数: - nIDOleEmbed:OLE(Object Linking and Embedding)嵌入的资源 ID。 - nIDOleLink:OLE 链接的资源 ID。 - pOleFrameHook:指向 COleFrameHook 对象的指针,该对象用于设置与 OLE 操作相关的框架钩子。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ //...
MFC CDocTemplate 类 公共方法:CDocTemplate::SetDefaultTitle
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::SetDefaultTitle 是 CDocTemplate 类的一个保护方法,用于设置文档模板的默认标题。以下是关于 CDocTemplate::SetDefaultTitle 方法的简要说明:virtual void SetDefaultTitle(CDocument* pDocument); 参数: - pDocument:指向文档对象的指针,用于指定要设置默认标题的文档。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 创建新的文档对象 CDocument* pDoc = pDocTemplate->CreateNewDocument(); // 设置文档模板的默认标题 pDocTemplate->SetDefaultTitle(pDoc); // 在这里可以进行其他操作,如...
MFC CDocTemplate 类 公共方法:CDocTemplate::SetContainerInfo
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::SetContainerInfo 是 CDocTemplate 类的一个保护方法,用于设置文档模板的 OLE(Object Linking and Embedding)容器信息。以下是关于 CDocTemplate::SetContainerInfo 方法的简要说明:virtual void SetContainerInfo(DWORD dwContainer); 参数: - dwContainer:用于指定 OLE 容器信息的标志。可以是 OLE_CONTAINER_INPLACE_ACTIVE、OLE_CONTAINER_OPENNOCONTAINER 等。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 设置文档模板的 OLE 容器信息 pDocTemplate->SetContainerInfo(O...
MFC CDocTemplate 类 公共方法:CDocTemplate::SaveAllModified
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::SaveAllModified 是 CDocTemplate 类的一个公共方法,用于保存所有已修改的文档。以下是关于 CDocTemplate::SaveAllModified 方法的简要说明:virtual BOOL SaveAllModified(); 返回类型:BOOL 返回值:如果所有已修改的文档都成功保存,则返回 TRUE;如果有任何文档保存失败或用户取消保存操作,则返回 FALSE。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 保存所有已修改的文档 BOOL bSaved = pDocTemplate->SaveAllModified(); // 检查保存操作是否成功 if (bSaved) { // 所有文档保存成功,可以进行其他操作 } else...
MFC CDocTemplate 类 公共方法:CDocTemplate::RemoveDocument
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::RemoveDocument 是 CDocTemplate 类的一个保护方法,用于从文档模板管理的文档链表中移除指定的文档对象。以下是关于 CDocTemplate::RemoveDocument 方法的简要说明:virtual void RemoveDocument(CDocument* pDoc); 参数: - pDoc:要从文档链表中移除的文档对象指针。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 获取文档对象链表的第一个文档位置 POSITION pos = pDocTemplate->GetFirstDocPosition(); // 遍历文档对象链表 while (pos != nullptr) { // 获取文档对象指针 CDocument* ...
MFC CDocTemplate 类 公共方法:CDocTemplate::OpenDocumentFile
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::OpenDocumentFile 是 CDocTemplate 类的一个公共方法,用于打开一个文档文件并返回与之关联的文档对象。以下是关于 CDocTemplate::OpenDocumentFile 方法的简要说明:virtual CDocument* OpenDocumentFile(LPCTSTR lpszPathName, BOOL bMakeVisible = TRUE); 参数: - lpszPathName:要打开的文档的路径名。 - bMakeVisible:一个布尔值,指定是否要使关联的框架窗口可见。默认为 TRUE。 返回类型:CDocument* 返回值:指向与打开的文档关联的文档对象的指针。如果打开文档失败,则返回 nullptr。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 要打开的文档...
MFC CDocTemplate 类 公共方法:CDocTemplate::MatchDocType
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::MatchDocType 是 CDocTemplate 类的一个保护方法,用于检查文档模板是否与给定的文档类型匹配。以下是关于 CDocTemplate::MatchDocType 方法的简要说明:BOOL MatchDocType(LPCTSTR lpszPathName, CDocument*& rpDocMatch); 参数: - lpszPathName:要匹配的文档的路径名。 - rpDocMatch:如果匹配成功,该参数将被设置为匹配的文档对象的指针。 返回类型:BOOL 返回值:如果文档模板匹配给定的文档类型,则返回 TRUE;否则返回 FALSE。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 要匹配的文档的路径名 LPCTSTR lpszPathName = _T("C:\...
MFC CDocTemplate 类 公共方法:CDocTemplate::LoadTemplate
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::LoadTemplate 是 CDocTemplate 类的一个保护方法,用于从资源加载文档模板的定义。以下是关于 CDocTemplate::LoadTemplate 方法的简要说明:BOOL LoadTemplate(); 返回类型:BOOL 返回值:如果成功加载文档模板,则返回 TRUE;否则返回 FALSE。LoadTemplate 方法通常在 CDocTemplate 的构造函数中被调用,用于加载文档模板的定义。文档模板的定义包括菜单、工具栏、状态栏等与文档视图相关的信息。使用示例:// 创建文档模板对象CSingleDocTemplate* pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CMyDoc), RUNTIME_CLASS(CMainFrame), RUNTIME_CLASS(CMyView));// 加载文档模板的定义if (pDocTemplate-...
MFC CDocTemplate 类 公共方法:CDocTemplate::InitialUpdateFrame
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::InitialUpdateFrame 是 CDocTemplate 类的一个公共方法,用于初始化框架窗口并激活与之关联的文档。以下是关于 CDocTemplate::InitialUpdateFrame 方法的简要说明:virtual void InitialUpdateFrame(CFrameWnd* pFrame, CDocument* pDoc, BOOL bMakeVisible = TRUE); 参数: - pFrame:指向框架窗口的指针,表示要初始化的框架窗口。 - pDoc:指向关联的文档对象的指针。 - bMakeVisible:一个布尔值,指定是否要显示框架窗口。默认为 TRUE。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 创建新的文档对象 CDocument* pDoc = pDo...
MFC CDocTemplate 类 公共方法:CDocTemplate::GetNextDoc
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::GetNextDoc 是 CDocTemplate 类的一个公共方法,用于获取文档模板管理的文档对象链表中的下一个文档对象。以下是关于 CDocTemplate::GetNextDoc 方法的简要说明:CDocument* GetNextDoc(POSITION& rPos) const; 参数: - rPos:传递一个 POSITION 对象的引用,表示当前文档对象在链表中的位置。在方法调用后,rPos 将被更新为下一个文档对象的位置。 返回类型:CDocument* 返回值:指向下一个文档对象的指针。如果没有更多的文档对象,返回 nullptr。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 获取文档对象链表的第一个文档位置 POSITION pos = pDocTemplate->GetFi...
MFC CDocTemplate 类 公共方法:CDocTemplate::GetFirstDocPosition
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::GetFirstDocPosition 是 CDocTemplate 类的一个公共方法,用于获取文档模板管理的文档对象链表的第一个文档位置。以下是关于 CDocTemplate::GetFirstDocPosition 方法的简要说明:POSITION GetFirstDocPosition() const; 返回类型:POSITION 返回值:文档对象链表的第一个文档位置(通常是一个 CPtrList::POSITION 对象)。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 获取文档对象链表的第一个文档位置 POSITION pos = pDocTemplate->GetFirstDocPosition(); // 遍历文档对象链表 while (pos != nullptr) { ...
MFC CDocTemplate 类 公共方法:CDocTemplate::GetDocString
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::GetDocString 是 CDocTemplate 类的一个公共方法,用于获取文档模板的相关字符串信息。这些字符串信息包括标题、文件扩展名等。以下是关于 CDocTemplate::GetDocString 方法的简要说明:virtual void GetDocString(CString& rString, enum DocStringIndex index) const; 参数: - rString:传递一个 CString 对象的引用,该对象将接收请求的字符串信息。 - index:指定请求的字符串类型的索引。index 的取值可以是 docName、filterName、fileExtension 等,用于指示要获取的字符串类型。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 获取文档名字字符串...
MFC CDocTemplate 类 公共方法:CDocTemplate::CreatePreviewFrame
在MFC(Microsoft Foundation Classes)中,CDocTemplate::CreatePreviewFrame 是 CDocTemplate 类的一个公共方法,用于创建一个预览框架窗口。预览框架窗口通常用于显示文档的打印预览。以下是关于 CDocTemplate::CreatePreviewFrame 方法的简要说明:virtual CFrameWnd* CreatePreviewFrame(CWnd* pParentWnd); 返回类型:CFrameWnd* 参数: - pParentWnd:指向框架窗口的父窗口的指针。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 创建新的预览框架窗口 CFrameWnd* pPreviewFrame = pDocTemplate->CreatePreviewFrame(nullptr); // 检查框架窗口是否成功创建 if (...
MFC CDocTemplate 类 公共方法:CDocTemplate::CreateOleFrame
在MFC(Microsoft Foundation Classes)中,CDocTemplate::CreateOleFrame 是 CDocTemplate 类的一个公共方法,用于创建一个 OLE(Object Linking and Embedding)框架窗口。OLE 是一种技术,用于支持对象之间的链接和嵌入,通常用于创建复合文档应用程序。以下是关于 CDocTemplate::CreateOleFrame 方法的简要说明:virtual COleIPFrameWnd* CreateOleFrame(CWnd* pParentWnd, CDocument* pDoc, BOOL bCreate); 返回类型:COleIPFrameWnd* 参数: - pParentWnd:指向框架窗口的父窗口的指针。 - pDoc:指向关联的文档对象的指针。 - bCreate:一个布尔值,指定是否要创建框架窗口。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate...
MFC CDocTemplate 类 公共方法:CDocTemplate::CreateNewFrame
CDocTemplate::CreateNewFrame 是 MFC(Microsoft Foundation Classes)中的 CDocTemplate 类的另一个重要的公共方法。该方法用于创建新的框架窗口(frame window)。以下是关于 CDocTemplate::CreateNewFrame 方法的简要说明:virtual CFrameWnd* CreateNewFrame(CDocument* pDoc, CFrameWnd* pOther); 返回类型:CFrameWnd* 参数: - pDoc:指向新创建的框架窗口关联的文档对象的指针。 - pOther:保留参数,一般为 nullptr。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 创建新的文档对象 CDocument* pDoc = pDocTemplate->CreateNewDocument(); // 检查文档对...
MFC CDocTemplate 类 公共方法:CDocTemplate::CreateNewDocument
CDocTemplate 类是 MFC(Microsoft Foundation Classes)中的一个重要类,用于管理文档模板。CDocTemplate::CreateNewDocument 是该类的一个公共方法,用于创建新的文档对象。以下是关于 CDocTemplate::CreateNewDocument 方法的简要说明:virtual CDocument* CreateNewDocument(); 返回类型:CDocument* 说明:该方法用于创建一个新的文档对象,并返回指向该文档对象的指针。使用示例:// 获取文档模板CDocTemplate* pDocTemplate = GetDocTemplate();// 检查文档模板是否有效if (pDocTemplate != nullptr){ // 创建新的文档对象 CDocument* pDoc = pDocTemplate->CreateNewDocument(); // 检查文档对象是否成功创建 if (pDoc != nullptr) { // 在这里可以进行其他操...
MFC CDocTemplate 类 公共方法:CDocTemplate::CloseAllDocuments
在 MFC(Microsoft Foundation Classes)中,CDocTemplate::CloseAllDocuments 方法用于关闭文档模板的所有文档。这个方法通常在应用程序关闭时调用,以确保关闭所有打开的文档。以下是 CDocTemplate::CloseAllDocuments 方法的一般用法:void CMyDocTemplate::CloseAllDocuments(BOOL bEndSession){ // 使用基类的默认处理,关闭文档模板的所有文档 CDocTemplate::CloseAllDocuments(bEndSession); // 在此可添加额外的关闭文档逻辑 // 例如,处理文档关闭后的其他操作 // ...}在这个方法中,首先调用基类的 CloseAllDocuments 方法,关闭文档模板的所有文档。然后,你可以根据需要在方法的末尾添加额外的关闭文档逻辑,例如处理文档关闭后的其他操作。需要注意的是,具体的实现可能因 MFC 库的版本而有所不同,上述代码只是一个简单的示例。在实际使用中,你可能需要查看文档模板...