void Zoom(float fZoomScale, bool bCenter = true)
void Zoom(int x, int y, float fZoomScale)
	void Zoom(float fZoomScale, bool bCenter = true)	{		if(fZoomScale <= 0)			return;		fZoomScale = max(fZoomScale, m_fZoomScaleMin);		POINT pt = { 0 };		if(bCenter)		{			T* pT = static_cast<T*>(this);			RECT rc;			::GetClientRect(pT->m_hWnd, &rc);			pt.x = rc.right / 2;			pt.y = rc.bottom / 2;			ViewDPtoLP(&pt);		}		// Modify the Viewport extent		m_fZoomScale = fZoomScale;		SIZE sizeAll = { 0 };		sizeAll.cx = (int)((float)m_sizeLogAll.cx * fZoomScale);		sizeAll.cy = (int)((float)m_sizeLogAll.cy * fZoomScale);				// Update scroll bars and window		CScrollImpl< T >::SetScrollSize(sizeAll);		if(bCenter)			CenterOnLogicalPoint(pt);	}