将工具栏添加到CDialog窗口

时间:2012-12-21 20:34:46

标签: visual-c++ mfc

我创建了一个SDI应用程序,并创建了一个对话窗口。我想在该对话框中添加一个工具栏,所以我编码如下:

int CAddNewEmployee::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CDialog::OnCreate(lpCreateStruct) == -1)
      return -1;

   CToolBar cToolBar;
   cToolBar.Create(this);
   cToolBar.LoadToolBar(IDR_MAINFRAME1);
   cToolBar.ShowWindow(SW_SHOW);
   cToolBar.SetBarStyle(CBRS_ALIGN_TOP | CBRS_TOOLTIPS | CBRS_FLYBY);
   RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);

   return 0;

}

但是当我运行应用程序时没有任何事情发生,没有显示工具栏。我不知道代码是否正确以及如何显示代码。

谢谢。

1 个答案:

答案 0 :(得分:2)

您将工具栏在函数末尾销毁,因为您将其作为局部变量。把它变成一个成员变量。

参考: How to add control bars to dialog boxes in MFC