Article ID: 190501
Article Last Modified on 11/21/2006
void CMyToolBar::_GetButton(int nIndex, TBBUTTON* pButton) const
{
CMyToolBar* pBar = (CMyToolBar*) this;
VERIFY(pBar->DefWindowProc(TB_GETBUTTON, nIndex,
(LPARAM)pButton));
// TBSTATE_ENABLED == TBBS_DISABLED so invert it.
pButton->fsState ^= TBSTATE_ENABLED;
}
while (sizeMin.cx < sizeMax.cx)
{
sizeMid.cx = (sizeMin.cx + sizeMax.cx) / 2;
WrapToolBar(pData, nCount, sizeMid.cx);
sizeMid = CalcSize(pData, nCount);
if (nLength < sizeMid.cy)
{
if (sizeMin == sizeMid)
{
WrapToolBar(pData, nCount, sizeMax.cx);
return;
}
sizeMin = sizeMid;
}
else if (nLength > sizeMid.cy && sizeMax != sizeMid)
sizeMax = sizeMid;
else
return;
}
while (sizeMin.cx < sizeMax.cx)
{
sizeMid.cx = (sizeMin.cx + sizeMax.cx) / 2;
WrapToolBar(pData, nCount, sizeMid.cx);
sizeMid = CalcSize(pData, nCount);
if (nLength < sizeMid.cy)
{
if (sizeMin == sizeMid)
{
WrapToolBar(pData, nCount, sizeMax.cx);
return;
}
sizeMin = sizeMid;
}
else if (nLength > sizeMid.cy)
sizeMax = sizeMid;
else
return;
}
// Set the drop-down buttons to have the appropriate styles.
CToolBarCtrl& rCtrl = m_wndToolBar.GetToolBarCtrl();
TBBUTTONINFO tbbi;
tbbi.dwMask = TBIF_STYLE;
tbbi.cbSize = sizeof tbbi;
rCtrl.GetButtonInfo(ID_FILE_OPEN, &tbbi);
tbbi.fsStyle |= TBSTYLE_DROPDOWN;
VERIFY(rCtrl.SetButtonInfo(ID_FILE_OPEN, &tbbi));
rCtrl.SetExtendedStyle(
rCtrl.GetExtendedStyle() | TBSTYLE_EX_DRAWDDARROWS);
Additional query words: kbvc600bug
Keywords: kbbug kbfix kbnoupdate KB190501