void CSynBCGPEditView::OnUpdateCursorPos( CCmdUI * /*pCmdUI*/ )
{
	CBCGPRibbonStatusBar* pStatusBar = ((CMainFrame*) GetTopLevelFrame ())->GetRibbonStatusBar ();
	CBCGPRibbonStatusBarPane* pCursorPos = DYNAMIC_DOWNCAST (
		CBCGPRibbonStatusBarPane,
		pStatusBar->FindElement (ID_STATUSBAR_PANE3));
	ASSERT_VALID (pCursorPos);

	CString strCursorPos, strTemp;
	BOOL bNameValid = strTemp.LoadString(IDS_STATUS_ROWCOL);
	ASSERT(bNameValid);
	strCursorPos.Format (strTemp, m_pEdit->GetCurRow() + 1, m_pEdit->GetCurColumn() + 1);

	pCursorPos->SetText (strCursorPos);
	pCursorPos->Redraw ();
}
void CCoolFormat3Doc::OnCloseDocument()
{
	CBCGPRibbonStatusBar* pStatusBar = ((CMainFrame*) AfxGetMainWnd())->GetRibbonStatusBar ();
	CBCGPRibbonStatusBarPane* pCursorPos = DYNAMIC_DOWNCAST (
		CBCGPRibbonStatusBarPane,
		pStatusBar->FindElement (ID_STATUSBAR_PANE3));
	ASSERT_VALID (pCursorPos);

	CString strCursorPos, strTemp;
	BOOL bNameValid = strTemp.LoadString(IDS_STATUS_ROWCOL);
	ASSERT(bNameValid);
	strCursorPos.Format (strTemp, 0, 0);

	pCursorPos->SetText (strCursorPos);
	pCursorPos->Redraw ();

	CDocument::OnCloseDocument();
}
void CSynBCGPEditView::ReSetEncodingLabel()
{
	CBCGPRibbonStatusBar *pRibbonBar = ((CMainFrame*)GetTopLevelFrame())->GetRibbonStatusBar();
	ASSERT_VALID(pRibbonBar);

	CMyBCGPRibbonStatusBarPane *pRibbonLabel = DYNAMIC_DOWNCAST(CMyBCGPRibbonStatusBarPane, pRibbonBar->FindByID(ID_NOW_ENCODING));
	if (pRibbonLabel)
	{
		CString strLabelText(m_pEdit->GetSelectEncodingString());
		pRibbonLabel->SetText(strLabelText);
		pRibbonLabel->Redraw();
	}
}
void CBCGPMSOffice2007DemoView::OnZoomSlider()
{
	CBCGPRibbonStatusBar* pStatusBar = ((CMainFrame*) GetTopLevelFrame ())->GetRibbonStatusBar ();

	CBCGPRibbonSlider* pSlider = DYNAMIC_DOWNCAST (
		CBCGPRibbonSlider,
		pStatusBar->FindElement (ID_STATUSBAR_ZOOM_SLIDER));
	ASSERT_VALID (pSlider);

	int nPos = pSlider->GetPos ();

	CBCGPRibbonStatusBarPane* pZoom = DYNAMIC_DOWNCAST (
		CBCGPRibbonStatusBarPane,
		pStatusBar->FindElement (ID_STATUSBAR_ZOOM));
	ASSERT_VALID (pZoom);

	CString strZoom;
	strZoom.Format (_T("%d%%"), nPos);

	pZoom->SetText (strZoom);
	pZoom->Redraw ();

	SendMessage(EM_SETZOOM, nPos, 100);
}
void CBCGPRibbonConstructor::ConstructStatusBar (CBCGPRibbonStatusBar& bar) const
{
	const CBCGPRibbonInfo::XStatusBar& infoBar = GetInfo ().GetStatusBar ();
	CBCGPToolBarImages& images = const_cast<CBCGPToolBarImages&>(infoBar.m_Images.m_Image);

	int i = 0;
	int count = 0;

	const CBCGPRibbonInfo::XStatusBar::XStatusElements& infoElements = infoBar.m_Elements;

	count = (int)infoElements.m_arElements.GetSize ();
	for (i = 0; i < count; i++)
	{
		CBCGPRibbonInfo::XElement& info = 
			(CBCGPRibbonInfo::XElement&)*infoElements.m_arElements[i];
		CBCGPBaseRibbonElement* pElement = CreateElement (info);
		if (pElement != NULL)
		{
			ASSERT_VALID (pElement);

			CBCGPRibbonSeparator* pSeparator = DYNAMIC_DOWNCAST (CBCGPRibbonSeparator, pElement);
			if (pSeparator)
			{
				bar.AddSeparator ();
				delete pSeparator;
			}
			else
			{
				CBCGPRibbonButton* pButton = DYNAMIC_DOWNCAST (CBCGPRibbonButton, pElement);
				if (pButton != NULL && pButton->GetImageIndex (FALSE) != -1)
				{
					SetIcon (*pButton, CBCGPBaseRibbonElement::RibbonImageLarge, images, FALSE);
				}

				bar.AddElement (pElement, infoElements.m_arLabels[i], infoElements.m_arVisible[i]);
			}
		}
	}

	const CBCGPRibbonInfo::XStatusBar::XStatusElements& infoExElements = infoBar.m_ExElements;

	count = (int)infoExElements.m_arElements.GetSize ();
	for (i = 0; i < count; i++)
	{
		CBCGPRibbonInfo::XElement& info = 
			(CBCGPRibbonInfo::XElement&)*infoExElements.m_arElements[i];
		CBCGPBaseRibbonElement* pElement = CreateElement (info);
		if (pElement != NULL)
		{
			ASSERT_VALID (pElement);

			CBCGPRibbonButton* pButton = (CBCGPRibbonButton*) DYNAMIC_DOWNCAST (CBCGPRibbonButton, pElement);
			if (pButton != NULL && pButton->GetImageIndex (FALSE) != -1)
			{
				SetIcon (*pButton, CBCGPBaseRibbonElement::RibbonImageLarge, images, FALSE);
			}

			bar.AddExtendedElement(pElement, infoExElements.m_arLabels[i], infoExElements.m_arVisible[i]);
		}
	}
}