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 ); }
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); }
void CFolderListCtrl::Refresh() { CThumbCashe cashe(m_sFolderPath); cashe.Delete(); SetCurFolder(m_sFolderPath, TRUE); }