c++ - 在使用 MFC 制作工具栏时需要帮助

标签 c++

我在我的头文件中添加了这个

CToolBar myBar; 
public: 
int OnCreate(LPCREATESTRUCT lpCreateStruct); 
void OnToolBarButton1(); 
void OnToolBarButton2();

我在 .cpp 文件中添加了这个

BEGIN_MESSAGE_MAP(CtoolbarfDlg, CDialog) 
    ON_WM_SYSCOMMAND() 
    ON_WM_PAINT() 
    ON_WM_QUERYDRAGICON() 
    ON_WM_CREATE() 
    ON_COMMAND(IDC_TBBUTTON1,OnToolBarButton1) 
    ON_COMMAND(IDC_TBBUTTON2,OnToolBarButton2)   
    //}}AFX_MSG_MAP 
END_MESSAGE_MAP() 

void CtoolbarfDlg::OnToolBarButton1() 
{ 
} 
void CtoolbarfDlg::OnToolBarButton2() 
{ 
} 
int CtoolbarfDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{ 
   if (CDialog::OnCreate(lpCreateStruct) == -1) 
       return -1; 

   if (!myBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP 
          | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC)) 
   { 
        TRACE0("Failed to create toolbar"); 
        return -1; // fail to create 
   } 

     myBar.LoadToolBar(IDR_TOOLBAR1); 
     myBar.EnableDocking(CBRS_ALIGN_ANY); 
     EnableDocking(CBRS_ALIGN_ANY); 
     DockControlBar(&myBar); 
}

我遇到了这些错误:( error C3861: 'EnableDocking': 找不到标识符 错误 C3861:“DockControlBar”:找不到标识符

最佳答案

CDialog 没有成员 EnableDocking 或 DockControlBar;这些是 CFrameWnd 的成员。 MFC 假定您要将工具栏放入框架窗口中,Microsoft 从未提供将它们放入对话框中的方法。这是可以做到的,但您将不得不自己完成所有艰苦的工作。

关于c++ - 在使用 MFC 制作工具栏时需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3122498/

相关文章:

c++ - 为每个查询初始化到 MYSQL 的连接有多糟糕?

c++ - 模板的数据类型

c++ - 如何为子类 QComboBox 编写 paintEvent()

c++ - 如何弄清楚为什么 UDP 仅以相对较慢的速率接受数据包?

c++ - 使用样式表不显示 QT 背景图像

c++ - Linux 中的代码编辑器

c++ - 错误 C2011 : '' : 'class' type redefinition

c++ - 模板中 C++ 中的内存泄漏

c++ - 几何着色器计算的线在相机移动时消失

c++ - 提升灵气属性传播