Exemplo n.º 1
0
void AddinUi::UpdateButtons()
{
	Office::_CommandBarsPtr cbs = theApp.GetVisioApp()->CommandBars;

	for (size_t i = 0; i < m_buttons.GetCount(); ++i)
	{
		ClickEventRedirector* button = m_buttons[i];

		Office::CommandBarControlPtr control;
		cbs->FindControl(vtMissing, vtMissing, variant_t(button->m_tag), vtMissing, &control);

		if (control != button->m_punk)
		{
			button->DispEventUnadvise(button->m_punk);
			button->m_punk = control;
			button->DispEventAdvise(button->m_punk);
		}

		UpdateButton(control, button->m_cmd_id);
	}
}