本文整理汇总了C++中CToolBar::CommandToIndex方法的典型用法代码示例。如果您正苦于以下问题:C++ CToolBar::CommandToIndex方法的具体用法?C++ CToolBar::CommandToIndex怎么用?C++ CToolBar::CommandToIndex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CToolBar
的用法示例。
在下文中一共展示了CToolBar::CommandToIndex方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RemoveExtensionsFromToolbar
void CUIExtensionUIHelper::RemoveExtensionsFromToolbar(CToolBar& toolbar, UINT nCmdAfter)
{
int nRemoved = 0;
TBBUTTON tbb;
CImageList* pIL = toolbar.GetToolBarCtrl().GetImageList();
for (UINT nExtID = m_nStartID; nExtID <= m_nStartID + m_nSize; nExtID++)
{
int nBtn = toolbar.CommandToIndex(nExtID);
if (nBtn != -1)
{
VERIFY(toolbar.GetToolBarCtrl().GetButton(nBtn, &tbb));
if (toolbar.GetToolBarCtrl().DeleteButton(nBtn))
{
// delete the image too
pIL->Remove(tbb.iBitmap);
nRemoved++;
}
}
}
// remove separator
if (nRemoved)
{
int nSep = toolbar.CommandToIndex(nCmdAfter) + 1;
toolbar.GetToolBarCtrl().DeleteButton(nSep);
}
}
示例2: AppendToolsToToolbar
void CToolsHelper::AppendToolsToToolbar(const CUserToolArray& aTools, CToolBar& toolbar, UINT nCmdAfter)
{
// remove tools first
RemoveToolsFromToolbar(toolbar, nCmdAfter);
// then re-add
if (aTools.GetSize())
{
// figure out if we want the large or small images
CSize sizeBtn(toolbar.GetToolBarCtrl().GetButtonSize());
sizeBtn -= CSize(7, 7); // btn borders from BarTool.cpp
CSysImageList sil((sizeBtn.cx > 16));
VERIFY(sil.Initialize());
// start adding after the pref button
int nStartPos = toolbar.CommandToIndex(nCmdAfter) + 1;
int nAdded = 0;
for (int nTool = 0; nTool < aTools.GetSize(); nTool++)
{
const USERTOOL& tool = aTools[nTool];
HICON hIcon = GetToolIcon(sil, tool);
if (hIcon)
{
CImageList* pIL = toolbar.GetToolBarCtrl().GetImageList();
int nImage = pIL->Add(hIcon);
TBBUTTON tbb = { nImage, nTool + m_nStartID, 0, TBSTYLE_BUTTON, 0, 0, (UINT)-1 };
if (toolbar.GetToolBarCtrl().InsertButton(nStartPos + nAdded, &tbb))
nAdded++;
else // remove image
pIL->Remove(nImage);
// cleanup
::DestroyIcon(hIcon);
}
}
// add a separator if any buttons added
if (nAdded)
{
TBBUTTON tbb = { -1, 0, 0, TBSTYLE_SEP, 0, 0, (UINT)-1 };
toolbar.GetToolBarCtrl().InsertButton(nStartPos, &tbb);
}
}
}
示例3: AddCombo
void CMainFrame::AddCombo()
{
// We'll be placing the ComboBoxEx control over the 'File Save' toolbar button
int nComboWidth = 120;
CToolBar* pTB = GetToolBar();
if (pTB->CommandToIndex(IDM_FILE_SAVE) < 0) return;
pTB->SetButtonStyle(IDM_FILE_SAVE, TBSTYLE_SEP); // Convert the button to a separator
pTB->SetButtonWidth(IDM_FILE_SAVE, nComboWidth);
// Determine the size and position of the ComboBox
int nIndex = pTB->CommandToIndex(IDM_FILE_SAVE);
CRect rc = pTB->GetItemRect(nIndex);
// Create and position the ComboboxEx window
m_ComboBoxEx.Create(pTB);
m_ComboBoxEx.SetWindowPos(NULL, rc, SWP_NOACTIVATE);
// Set ComboBox Height
m_ComboBoxEx.SendMessage(CB_SETITEMHEIGHT, (WPARAM)-1, (LPARAM)rc.Height()-6);
m_ComboBoxEx.AddItems();
RecalcLayout();
}
示例4: AppendExtensionsToToolbar
void CUIExtensionUIHelper::AppendExtensionsToToolbar(CToolBar& toolbar, UINT nCmdAfter)
{
// remove tools first
RemoveExtensionsFromToolbar(toolbar, nCmdAfter);
// then re-add
int nNumExt = m_mgrUIExt.GetNumUIExtensions();
if (nNumExt)
{
// start adding after the pref button
int nStartPos = toolbar.CommandToIndex(nCmdAfter) + 1;
int nAdded = 0;
for (int nExt = 0; nExt < m_mgrUIExt.GetNumUIExtensions(); nExt++)
{
HICON hIcon = m_mgrUIExt.GetUIExtensionIcon(nExt);
if (hIcon)
{
CImageList* pIL = toolbar.GetToolBarCtrl().GetImageList();
int nImage = pIL->Add(hIcon);
TBBUTTON tbb = { nImage, nExt + m_nStartID, 0, TBSTYLE_BUTTON, 0, 0, (UINT)-1 };
if (toolbar.GetToolBarCtrl().InsertButton(nStartPos + nAdded, &tbb))
{
nAdded++;
}
else // remove image
{
pIL->Remove(nImage);
}
// Note: we do not delete the extensions icon
}
}
// add a separator if any buttons added
if (nAdded)
{
TBBUTTON tbb = { -1, 0, 0, TBSTYLE_SEP, 0, 0, (UINT)-1 };
toolbar.GetToolBarCtrl().InsertButton(nStartPos, &tbb);
}
}
}