예제 #1
0
BOOL CFolderListCtrl::SetViewProp( const CFLCProperties& prop )
{
	if( prop == m_Properties )
		return TRUE;

	CSCADString sPath = m_sFolderPath;

	m_Properties = prop;
	m_sFolderPath.Empty();
	SetIconSpacing(m_Properties.m_nItemCX + 10, m_Properties.m_nItemCY+40);

	return SetCurFolder( sPath );
}
예제 #2
0
void COutlook2Ctrl::OnLButtonDown(UINT nFlags, CPoint point)
{
	
	if (m_iSize <= 4 || m_dragRect.PtInRect(point))
	{
		m_iDragoffset = m_iSize - point.x;

		m_iDragging = 1;
		SetCursor(hDragCur);
		SetCapture();
		SetFocus();
		CRect rc;
		GetClientRect(rc);
		OnInvertTracker(m_dragRect);
		return;
	}
	int f,i,s;
	int r = HitTest(f,i,s,point);
	if (r == 1)
	{
		SetCurFolder(f);
	}
	if (r == 4)
	{
		COL2SubItem	* ps = GetSubItem(f,i,s);
		if (ps->dwStyle == 2 || ps->dwStyle == 3) // item is hotlinked or checkbox
		{
			AfxGetMainWnd()->SendMessage(WM_COMMAND, MAKELONG(ps->lParam, 0), (LPARAM) GetSafeHwnd());
			InvalidateRect(rcInnerRect, FALSE);
		}
		if (ps->dwStyle == 0 || ps->dwStyle == 1) // item is radio or singlelist .. check before sending
		{
			COL2CCmdUI pui;
			pui.pSI = ps;
			pui.m_nID = ps->lParam; 
			AfxGetMainWnd()->OnCmdMsg(pui.m_nID, CN_UPDATE_COMMAND_UI, &pui, NULL);
			if (!(pui.iRes & 2)) // not checked yet .. so let's do it
				AfxGetMainWnd()->SendMessage(WM_COMMAND, MAKELONG(ps->lParam, 0), (LPARAM) GetSafeHwnd());
			InvalidateRect(rcInnerRect, FALSE);
		}
	}
	OLCTRL2_BASE_CLASS::OnLButtonDown(nFlags, point);
}
예제 #3
0
void CFolderListCtrl::Refresh()
{
	CThumbCashe cashe(m_sFolderPath);
	cashe.Delete();
	SetCurFolder(m_sFolderPath, TRUE);
}