void CElcNonWndButton::Draw(PVOID pvGraphics)
{
	if (!pvGraphics)
		return;

	Rect rect(m_rect.left, m_rect.top, m_rect.Width(), m_rect.Height());

	// draw background image 
	if (m_background.background.pImage) {
		thePainter.DrawImage(pvGraphics,
			&m_background.background,
			&rect,
			m_state,
			1,
			NULL);
	}

	// draw icon
	if (m_icon.pImage) {
		thePainter.DrawImage(pvGraphics,
			&m_icon,
			&rect,
			m_state,
			1,
			NULL);
	}

	if (!m_strText.IsEmpty()) {
		LOGFONT lf = {0};
		m_ftText.GetLogFont(&lf);

		FontFamily family(lf.lfFaceName);
		Font ftText(&family, 9);

		StringFormat stringfmt;
		stringfmt.SetAlignment(StringAlignmentCenter);
		stringfmt.SetLineAlignment(StringAlignmentCenter);
		stringfmt.SetHotkeyPrefix(HotkeyPrefixHide);

		Color crText;
		crText.SetFromCOLORREF(m_background.crTextNormal);

		RectF rcText;
		rcText.X = (REAL)m_rect.left;
		rcText.Y = (REAL)m_rect.top + 4;
		rcText.Width = (REAL)m_rect.Width();
		rcText.Height = (REAL)m_rect.Height();

		((Graphics *)pvGraphics)->DrawString(m_strText, 
			-1, 
			&ftText, 
			rcText, 
			&stringfmt, 
			&SolidBrush(crText));
	}
}