BOOL CEasySkinSliderCtrl::SetThumImage( LPCTSTR lpszFileName )
{
	UIRenderEngine->RemoveImage(m_pThumImg);

	m_pThumImg = UIRenderEngine->GetImage(lpszFileName);

	if (NULL == m_pThumImg)
		return FALSE;
	else
	{
		m_szThum.SetSize(m_pThumImg->GetWidth(),m_pThumImg->GetHeight());
		m_rcThumRect.SetRect(0,0,m_szThum.cx,m_szThum.cy);
		SetThumbRect();
		SetChannelRect();
		return TRUE;
	}
}
BOOL CDoubleThumbOpt::InitThumb(BOOL bHorizontal, int nThumbWidth, CRect& rcChannel)
{	
	SetHorizontal(bHorizontal);	
	SetChannelRect(rcChannel);
	SetThumbWidth(nThumbWidth);

	CPoint ptCenter;
	ptCenter = rcChannel.CenterPoint();	
	if (bHorizontal)
	{
		ptCenter.x =rcChannel.left;
	}
	else
	{
		ptCenter.y = rcChannel.top;
	}
	m_ltThumb.InitThumb(ptCenter, 0, THUNMB_RECT_HEIGHT, nThumbWidth, m_bHorizontal);	
	m_rbThumb.InitThumb(ptCenter, 10, THUNMB_RECT_HEIGHT, nThumbWidth, m_bHorizontal);	

	return TRUE;
}
BOOL CMultiThumbOpt::InitThumb(BOOL bHorizontal, int nThumbWidth, CRect& rcChannel)
{	
	SetHorizontal(bHorizontal);	
	SetChannelRect(rcChannel);
	SetThumbWidth(nThumbWidth);

	CPoint ptCenter;
	ptCenter = rcChannel.CenterPoint();	
	if (bHorizontal)
	{
		ptCenter.x =rcChannel.left;
	}
	else
	{
		ptCenter.y = rcChannel.top;
	}
	
	ASSERT(m_szThumb.size() <= m_szTicMarks->size());

	int nPos = 0;
	for (UINT i = 0; i < m_szThumb.size(); i++)
	{
		nPos = i ;
		if (m_bHorizontal)
		{
			ptCenter.x = m_szTicMarks->at(nPos)+m_rcChannel.left;
		}
		else
		{
			ptCenter.y = m_szTicMarks->at(nPos)+m_rcChannel.top;
		}

		m_szThumb[i]->InitThumb(ptCenter, nPos, THUNMB_RECT_HEIGHT, nThumbWidth, m_bHorizontal);
       // m_szThumb[i]->SetMixValue(m_nM)	
	}
	m_nFocusThumb = 0;

	ReCalcChannelRect();
	return TRUE;
}
Example #4
0
void CSkinSliderCtrl::OnSize(UINT nType, int cx, int cy)
{
	__super::OnSize(nType, cx, cy);
	SetChannelRect();
	SetPos(GetPos());
}