如何在资源文件中定义工具栏资源和按钮资源,并将按钮资源关联到对应的命令ID
时间: 2024-03-23 19:36:05 浏览: 20
你可以在资源文件中使用 TOOLBAR 和 BUTTON 资源来定义工具栏和按钮。例如:
```
IDR_MYTOOLBAR TOOLBAR DISCARDABLE {
BUTTON ID_FILE_NEW
BUTTON ID_FILE_OPEN
SEPARATOR
BUTTON ID_EDIT_COPY
BUTTON ID_EDIT_PASTE
}
ID_FILE_NEW BITMAP "new.bmp"
ID_FILE_OPEN BITMAP "open.bmp"
ID_EDIT_COPY BITMAP "copy.bmp"
ID_EDIT_PASTE BITMAP "paste.bmp"
```
在上述例子中,TOOLBAR 资源定义了一个名为 IDR_MYTOOLBAR 的工具栏,其中包含了四个按钮:ID_FILE_NEW、ID_FILE_OPEN、ID_EDIT_COPY 和 ID_EDIT_PASTE。这些按钮分别对应了资源文件中的四个 BITMAP 资源。
在关联命令ID时,你需要在程序代码中使用 CToolBar::LoadToolBar 函数加载工具栏资源,然后使用 CToolBar::SetButtonInfo 函数将每个按钮与对应的命令ID关联起来。例如:
```
if (!m_wndToolBar.CreateEx(this) || !m_wndToolBar.LoadToolBar(IDR_MYTOOLBAR))
{
TRACE0("Failed to create toolbar\n");
return -1;
}
m_wndToolBar.SetButtonInfo(0, ID_FILE_NEW, TBSTYLE_BUTTON, 0);
m_wndToolBar.SetButtonInfo(1, ID_FILE_OPEN, TBSTYLE_BUTTON, 1);
m_wndToolBar.SetButtonInfo(3, ID_EDIT_COPY, TBSTYLE_BUTTON, 2);
m_wndToolBar.SetButtonInfo(4, ID_EDIT_PASTE, TBSTYLE_BUTTON, 3);
```
在上述例子中,我们首先使用 CToolBar::CreateEx 函数创建了一个 CToolBar 对象,并使用 CToolBar::LoadToolBar 函数加载了 IDR_MYTOOLBAR 资源。然后,我们使用 CToolBar::SetButtonInfo 函数将每个按钮与对应的命令ID关联起来。注意,按钮的索引是从0开始的。