MFC多文档视图文档名
时间: 2023-08-19 10:06:12 浏览: 61
在MFC多文档视图中,文档名可以通过以下方式获取:
1. 通过`GetTitle()`函数获取文档的标题。这个函数返回一个CString类型的字符串,表示文档的标题。
2. 通过`GetPathName()`函数获取文档的完整路径名。这个函数返回一个CString类型的字符串,表示文档的完整路径名,包括文件名和文件路径。
3. 通过`GetDocumentName()`函数获取文档的名称。这个函数返回一个CString类型的字符串,表示文档的名称,即文件名。
这些函数都是在CDocument类中定义的,可以在多文档视图应用程序的相关类中使用。
相关问题
mfc多文档视图 集成cef3 详细教程
首先,你需要在你的 MFC 多文档视图应用程序中添加 CEF3 库。你可以从 CEF 官方网站下载最新版本的 CEF3 库。
现在,让我们开始集成 CEF3 到你的应用程序中。
步骤1:添加 CEF3 库
在你的项目中,右键单击“项目”并选择“属性”选项。在属性对话框中,选择“VC++目录”选项卡,然后在“包含目录”中添加 CEF3 的“include”文件夹的路径。接下来,在“库目录”中添加 CEF3 的“Debug”和“Release”文件夹的路径。
在“链接器”选项卡中,选择“输入”选项卡,并添加以下库:
libcef.lib
libcef_dll_wrapper.lib
libcef_dll_wrapper.lib
步骤2:创建 CEF3 实例
在 MFC 应用程序的主框架类中添加以下代码来创建 CEF3 实例:
#include "cefclient.h"
#include "cefclient_handler.h"
#include "SimpleHandler.h"
class CMainFrame : public CFrameWnd
{
public:
...
CefRefPtr<SimpleHandler> m_pHandler;
CefRefPtr<CefClient> m_pClient;
...
};
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
...
CefMainArgs main_args(hInstance);
CefSettings settings;
CefRefPtr<CefApp> app(new CefClientHandler);
CefInitialize(main_args, settings, app.get());
m_pHandler = new SimpleHandler();
m_pClient = CefClient::CreateClientHandler(m_pHandler);
...
}
在上面的代码中,我们创建了一个名为“SimpleHandler”的类,该类派生自“CefClient”的“CefClientHandler”类。此外,我们还创建了一个名为“m_pHandler”的成员变量,该变量用于保存“SimpleHandler”类的实例。
步骤3:创建 CEF3 窗口
在你的 MFC 多文档视图应用程序中,你可以使用“CView”类来显示 CEF3 窗口。
在你的“CView”类派生类中添加以下代码:
#include "cefclient.h"
#include "SimpleHandler.h"
class CMyView : public CView
{
public:
...
CefRefPtr<SimpleHandler> m_pHandler;
...
};
void CMyView::OnInitialUpdate()
{
CView::OnInitialUpdate();
CefWindowInfo info;
CefBrowserSettings settings;
CefRefPtr<CefBrowser> pBrowser;
CRect rect;
GetClientRect(&rect);
info.SetAsChild(m_hWnd, rect);
pBrowser = CefBrowserHost::CreateBrowserSync(info, m_pHandler.get(), L"http://www.baidu.com", settings, NULL);
}
在上面的代码中,我们创建了一个名为“pBrowser”的变量,该变量用于保存 CEF3 窗口的指针。我们还创建了一个名为“m_pHandler”的成员变量,该变量用于保存“SimpleHandler”类的实例。
步骤4:运行 CEF3 应用程序
现在,你可以运行你的 MFC 多文档视图应用程序并测试 CEF3 窗口。如果一切都设置正确,你应该可以看到在 MFC 应用程序中嵌入的 CEF3 窗口,并且你可以在窗口中浏览网页。
希望这个简单的教程能帮助你集成 CEF3 到你的 MFC 多文档视图应用程序中。
mfc多文档视图 集成cef3 详细过程
好的,下面是更为详细的过程:
步骤1:下载 CEF3 库
首先,你需要在 CEF 官方网站下载最新版本的 CEF3 库。解压缩下载后的文件并将其放在你的工程目录下。
步骤2:添加 CEF3 库
在你的项目中,右键单击“项目”并选择“属性”选项。在属性对话框中,选择“VC++目录”选项卡,然后在“包含目录”中添加 CEF3 的“include”文件夹的路径。接下来,在“库目录”中添加 CEF3 的“Debug”和“Release”文件夹的路径。
在“链接器”选项卡中,选择“输入”选项卡,并添加以下库:
libcef.lib
libcef_dll_wrapper.lib
libcef_dll_wrapper.lib
步骤3:创建 CEF3 实例
在 MFC 应用程序的主框架类中添加以下代码来创建 CEF3 实例:
#include "cefclient.h"
#include "cefclient_handler.h"
#include "SimpleHandler.h"
class CMainFrame : public CFrameWnd
{
public:
...
CefRefPtr<SimpleHandler> m_pHandler;
CefRefPtr<CefClient> m_pClient;
...
};
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
...
CefMainArgs main_args(hInstance);
CefSettings settings;
CefRefPtr<CefApp> app(new CefClientHandler);
CefInitialize(main_args, settings, app.get());
m_pHandler = new SimpleHandler();
m_pClient = CefClient::CreateClientHandler(m_pHandler);
...
}
在上面的代码中,我们创建了一个名为“SimpleHandler”的类,该类派生自“CefClient”的“CefClientHandler”类。此外,我们还创建了一个名为“m_pHandler”的成员变量,该变量用于保存“SimpleHandler”类的实例。
步骤4:创建 CEF3 窗口
在你的 MFC 多文档视图应用程序中,你可以使用“CView”类来显示 CEF3 窗口。
在你的“CView”类派生类中添加以下代码:
#include "cefclient.h"
#include "SimpleHandler.h"
class CMyView : public CView
{
public:
...
CefRefPtr<SimpleHandler> m_pHandler;
...
};
void CMyView::OnInitialUpdate()
{
CView::OnInitialUpdate();
CefWindowInfo info;
CefBrowserSettings settings;
CefRefPtr<CefBrowser> pBrowser;
CRect rect;
GetClientRect(&rect);
info.SetAsChild(m_hWnd, rect);
pBrowser = CefBrowserHost::CreateBrowserSync(info, m_pHandler.get(), L"http://www.baidu.com", settings, NULL);
}
在上面的代码中,我们创建了一个名为“pBrowser”的变量,该变量用于保存 CEF3 窗口的指针。我们还创建了一个名为“m_pHandler”的成员变量,该变量用于保存“SimpleHandler”类的实例。
步骤5:处理消息循环
在你的主框架类中添加以下代码来处理消息循环:
#include "cefclient.h"
#include "cefclient_handler.h"
#include "SimpleHandler.h"
class CMainFrame : public CFrameWnd
{
public:
...
CefRefPtr<SimpleHandler> m_pHandler;
CefRefPtr<CefClient> m_pClient;
...
};
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
...
CefMainArgs main_args(hInstance);
CefSettings settings;
CefRefPtr<CefApp> app(new CefClientHandler);
CefInitialize(main_args, settings, app.get());
m_pHandler = new SimpleHandler();
m_pClient = CefClient::CreateClientHandler(m_pHandler);
...
}
void CMainFrame::OnIdle()
{
CFrameWnd::OnIdle();
CefDoMessageLoopWork();
}
在上面的代码中,我们在主框架类中添加了一个名为“OnIdle”的函数,该函数在空闲时处理消息循环。我们调用了“CefDoMessageLoopWork”函数来处理 CEF3 的消息循环。
步骤6:运行 CEF3 应用程序
现在,你可以运行你的 MFC 多文档视图应用程序并测试 CEF3 窗口。如果一切都设置正确,你应该可以看到在 MFC 应用程序中嵌入的 CEF3 窗口,并且你可以在窗口中浏览网页。
希望这个详细的过程能够帮助你集成 CEF3 到你的 MFC 多文档视图应用程序中。