【问题标题】:MFC Workspace Bar: "Failed to create empty document"MFC 工作区栏:“创建空文档失败”
【发布时间】:2013-11-20 19:34:01
【问题描述】:

我正在尝试创建一个类似于 VS 中的 on 的可停靠工作区栏。我正在使用 BCGCBPro 库,我正在调用的函数本质上是一个控制栏派生类。在我的 CMainFrame::OnCreate 函数中,我调用我的 create 函数来负责创建可停靠的工作区。

当我运行以下命令时,我得到一个断言错误:

if (!m_wndWorkSpace.Create (_T("Workspace"), this, CSize (200,200),
                            TRUE, ID_VIEW_WORKSPACE,
                            WS_CHILD | WS_VISIBLE | CBRS_LEFT))
{
    TRACE0("Failed to create workspace bar\n");
    return -1;      // fail to create
}

断言错误抱怨我的 CObject* pOb 指针为空。

现在,当我删除 WS_CHILD 样式时,我得到了臭名昭著的“无法创建空文档”:

if (!m_wndWorkSpace.Create (_T("Workspace"), this, CSize (200,200),
                            TRUE, ID_VIEW_WORKSPACE,
                            WS_VISIBLE | CBRS_LEFT))
{
    TRACE0("Failed to create workspace bar\n");
    return -1;      // fail to create
}

我做了很多研究,但没有具体的想法。我尝试了一些我在互联网上找到的替代方案,但似乎没有任何效果。任何帮助将不胜感激!

提前致谢

【问题讨论】:

  • 查看调试输出。那里的最后一条消息是什么?
  • 警告:窗口创建失败:GetLastError 返回 0x00000579 未能创建工作区栏警告:窗口创建失败:GetLastError 返回 0x00000000 警告:未能创建 CFrameWnd。警告:CDocTemplate 无法创建框架。
  • 这些是收到“未能创建空文档”错误时的最后一行。我相信它与资源文件有关,有可能吗?

标签: c++ mfc


【解决方案1】:

您可能使用过富编辑控件。要使用富编辑控件,必须初始化公共控件库。进入主应用程序中的 InitInstance 函数并添加 AfxInitRichEdit();那应该可以解决您的问题。 courtesy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多