CMFCTOOLBAR和CTOOLBAR 控件是灰色的还是不能用单击按钮没反应程序不执行断点调试不了怎么办

lixiang li 40 信誉分
2024-05-20T08:32:51.81+00:00

这是CTOOLBAR控件的代码if (!m_ToolBar.Create(this, WS_CHILD | WS_VISIBLE | CBRS_TOP,IDC_TOOLBAR1)||!m_ToolBar.LoadToolBar(IDR_TOOLBAR2))

{

 TRACE0("创建失败");

 //return FALSE;

 

}

这是CMFCTOOLBAR控件的代码if (CMyTOOL.Create(this, AFX_DEFAULT_TOOLBAR_STYLE, IDC_TOOLBAR1))

{

CMyTOOL.SetPaneStyle(CMyTOOL.GetPaneStyle()& ~(CBRS_GRIPPER | CBRS_SIZE_DYNAMIC | CBRS_BORDER_ANY));

CMyTOOL.LoadToolBar(IDR_TOOLBAR2);

CSize   sizeToolBar = CMyTOOL.CalcFixedLayout(FALSE, TRUE);

CMyTOOL.SetWindowPos(NULL, 20, 20, sizeToolBar.cx, sizeToolBar.cy,SWP_NOACTIVATE | SWP_NOZORDER);

}

ON_COMMAND(IDR_TOOLBAR2, &CMainWindow::OnIdrToolbar2)

ON_UPDATE_COMMAND_UI(IDC_TOOLBAR1, &CMainWindow::OnUpdateToolbarButton1)

ON_COMMAND(IDC_TOOLBAR1, &CMainWindow::OnToolbar1)

void CMainWindow::OnIdrToolbar2()

{

// TODO: 在此添加命令处理程序代码

MessageBox(L"ONE");

}

void CMainWindow::OnUpdateToolbarButton1(CCmdUI* pCmdUI)

{

MessageBox(L"TWO");

}

void CMainWindow::OnToolbar1()

{

// TODO: 在此添加命令处理程序代码

MessageBox(L"TREE");

}

屏幕截图 2024-05-20 163030


Visual Studio
Visual Studio
一系列 Microsoft 集成开发工具套件,用于生成适用于 Windows、Web 和移动设备的应用程序。
86 个问题
C++
C++
一种通用的高级编程语言,作为 C 编程语言的扩展而创建,除了用于低级别内存操作的功能外,还具有面向对象、泛型和功能性等特点。
126 个问题
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Minxin Yu 11,026 信誉分 Microsoft 供应商
    2024-05-21T09:07:59.95+00:00

    您好,

    BUTTON ID_BUTTON40007

    toolbar中按钮所使用的ID是 ID_BUTTON40007
    但是代码中绑定的ID是 IDR_TOOLBAR2,所以不会触发ID_BUTTON40007
    ON_COMMAND(IDR_TOOLBAR2, &CMainWindow::OnIdrToolbar2)

    请尝试修改代码的ID.


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释