Ejemplo n.º 1
0
///////////////////////////////////////////////////////////////
//
// DelTree
//
//
//
///////////////////////////////////////////////////////////////
bool SharedUtil::DelTree(const SString& strPath, const SString& strInsideHere)
{
    // Safety: Make sure strPath is inside strInsideHere
    WString wstrPath = FromUTF8(strPath);
    WString wstrInsideHere = FromUTF8(strInsideHere);
    if (!wstrPath.BeginsWithI(wstrInsideHere))
    {
        assert(0);
        return false;
    }

    DWORD                dwBufferSize = (wstrPath.length() + 3) * sizeof(wchar_t);
    CScopeAlloc<wchar_t> szBuffer(dwBufferSize);
    memset(szBuffer, 0, dwBufferSize);
    wcsncpy(szBuffer, wstrPath, wstrPath.length());
    SHFILEOPSTRUCTW sfos;

    sfos.hwnd = NULL;
    sfos.wFunc = FO_DELETE;
    sfos.pFrom = szBuffer;            // Double NULL terminated
    sfos.pTo = NULL;
    sfos.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_SILENT | FOF_ALLOWUNDO;

    int status = SHFileOperationW(&sfos);
    return status == 0;
}
Ejemplo n.º 2
0
bool CArchiver7ZIP::InspectArchiveGetFileName(CString &FileName)
{
	if(ArchiverGetFileName){
		if(!m_hInspectArchive){
			ASSERT(!"Open an Archive First!!!\n");
			return false;
		}
		std::vector<BYTE> szBuffer(FNAME_MAX32*2+1);
		ArchiverGetFileName(m_hInspectArchive,(LPCSTR)&szBuffer[0],FNAME_MAX32*2);
		UtilToUNICODE(FileName,&szBuffer[0],szBuffer.size(),UTILCP_UTF8);
		return true;
	}
	else{
		ASSERT(LOAD_DLL_STANDARD!=m_LoadLevel);
		if(!m_hInspectArchive){
			ASSERT(!"Open an Archive First!!!\n");
			return false;
		}
		UtilToUNICODE(FileName,(LPCBYTE)m_IndividualInfo.szFileName,sizeof(m_IndividualInfo.szFileName),UTILCP_UTF8);
		return true;
	}
}
Ejemplo n.º 3
0
void CGraphClass::CraeteGraph(void)
{

    CPaintDC dc(this); // device context for painting

    COLORREF qCircleColor = RGB(255, 0, 0);
    CPen qCirclePen(PS_SOLID, 5, qCircleColor);
    dc.SelectObject(&qCirclePen);

    dc.Ellipse(0, 0, 200, 100);


    COLORREF qLineColor = RGB(0, 0, 255);
    CPen qLinePen(PS_SOLID, 7, qLineColor);
    dc.SelectObject(&qLinePen);
    dc.MoveTo(0,100 );
    dc.LineTo(0 ,0);
    dc.MoveTo(0,100 );
    dc.LineTo(100 ,100);

    CString szBuffer(_T("hello"));
    //dc.SetBkColor(GetSysColor(COLOR_BTNFACE));
    dc.TextOutW(10,10, szBuffer);
}
Ejemplo n.º 4
0
   wstring  ListView::GetItemText(const UINT  iItem, const UINT  iSubItem, const UINT  iMaxLength)
   {
      StringBufferW  szBuffer(iMaxLength);

      // [VIRTUAL] Retrieve text via LVN_GETDISPINFO
      if (Style INCLUDES LVS_OWNERDATA)
      {
         NotifyMessage<NMLVDISPINFO>  oMessage(LVN_GETDISPINFO, Handle, WindowID);

         // Prepare item request
         oMessage.item.iItem      = iItem;
         oMessage.item.iSubItem   = iSubItem;
         oMessage.item.mask       = LVIF_TEXT;
         oMessage.item.pszText    = szBuffer;
         oMessage.item.cchTextMax = iMaxLength;
         oMessage.Send(Handle);
      }
      else
         // [NON-VIRTUAL] Retrieve via LVM_GETITEMTEXT
         ListView_GetItemText(Handle, iItem, iSubItem, szBuffer, iMaxLength);

      // Return as string
      return szBuffer;
   }
Ejemplo n.º 5
0
void SystemGraph::CraeteGraph(void)
{
	CPaintDC dc(this); // device context for painting
	int i = 0;
	int stepX =0, stepY = 0;
	int numStep =0;
	//TRACE(L"SystemGraph::CraeteGraph %d\n", m_graphMode);

#if 0	
	COLORREF qCircleColor = RGB(255, 0, 0);
	CPen qCirclePen(PS_SOLID, 1, qCircleColor);
	dc.SelectObject(&qCirclePen);

	dc.Ellipse(0, 0, 200, 100);


	COLORREF qLineColor = RGB(0, 0, 0);
	CPen qLinePen(PS_SOLID, 4, qLineColor);
	dc.SelectObject(&qLinePen);
	dc.MoveTo(0,100 );
	dc.LineTo(0 ,0);
	dc.MoveTo(0,100 );
	dc.LineTo(100 ,100);

	CString szBuffer(_T("hello"));
	dc.SetBkColor(GetSysColor(COLOR_BTNFACE));
	dc.TextOutW(10,10, szBuffer);
	dc.TextOutW(10,110, szBuffer);
#endif

	//clean old screen
	m_nSave  = dc.SaveDC();
	GetClientRect(&m_rectGraphDim);
	dc.FillRect(&m_rectGraphDim,&m_hbrBkGnd);


	//draw XY coordinate
	dc.SelectObject(&m_axisPen);
	dc.MoveTo(GRAPH_X_COORD, GRAPH_Y_COORD - GRAPH_Y_AXIS_LENGTH);
	dc.LineTo(GRAPH_X_COORD , GRAPH_Y_COORD);
	dc.LineTo(GRAPH_X_COORD + GRAPH_X_AXIS_LENGTH , GRAPH_Y_COORD);

	//text on Y axis: 0 20 40 60 80 100% (6 point)
	dc.SetBkColor(GetSysColor(COLOR_BTNFACE));
	CString szBuffer;
	numStep = 6;
	stepX = -40;
	stepY = - GRAPH_Y_AXIS_LENGTH / 5;
	for(i = 0; i < numStep; i++){
		szBuffer.Format(_T("%d%s"), 20 * i, "%");
		dc.TextOutW(GRAPH_X_COORD + stepX, GRAPH_Y_COORD + stepY *i - 10, szBuffer);
		szBuffer.Empty();
	}
	

	//text on X axis
	//m_graphMode = TIME_YEAR;
	
	switch(m_graphMode){
	case GRAPH_MODE_HOUR:
		//0 10 20 ... 60 (7 point)
		numStep = 7;
		stepX = GRAPH_X_AXIS_LENGTH/(numStep-1);
		stepY = 10;
		for(i = 0; i < numStep; i++){
			szBuffer.Format(_T("%d"), 10 * i);
			dc.TextOutW(GRAPH_X_COORD + stepX * i, GRAPH_Y_COORD + stepY, szBuffer);
			szBuffer.Empty();
		}

		
		break;
	case GRAPH_MODE_DAY:
		//0 2 4 ... 24 Hour ( 13 point)
		numStep = 13;
		stepX = GRAPH_X_AXIS_LENGTH/(numStep-1);
		stepY = 10;
		for(i = 0; i < numStep; i++){
			szBuffer.Format(_T("%d"), 2 * i);
			dc.TextOutW(GRAPH_X_COORD + stepX * i, GRAPH_Y_COORD + stepY, szBuffer);
			szBuffer.Empty();
		}

		break;
	case GRAPH_MODE_WEEK:
		//Mon Tue Wed Thu Fri Sat Sun ( 7 point)
		numStep = 7;
		stepX = GRAPH_X_AXIS_LENGTH/(numStep-1);
		stepY = 10;
		for(i = 0; i < numStep; i++){
			//TRACE(_T("%s \n"), "mom"); 
			//TRACE(traceAppMsg, 0, "%s \n", weekStr[i]);
			//szBuffer.Format(_T("%s"), weekStr[i]);
			szBuffer = CString( weekStr[i] );
			dc.TextOutW(GRAPH_X_COORD + stepX * i, GRAPH_Y_COORD + stepY, szBuffer);
			szBuffer.Empty();
		}
		break;
	case GRAPH_MODE_MONTH:
		//Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec (12 point)
		numStep = 12;
		stepX = GRAPH_X_AXIS_LENGTH/(numStep-1);
		stepY = 10;
		for(i = 0; i < numStep; i++){
			//TRACE(_T("%s \n"), "mom"); 
			//TRACE(traceAppMsg, 0, "%s \n", weekStr[i]);
			//szBuffer.Format(_T("%s"), weekStr[i]);
			szBuffer = CString( monthStr[i] );
			dc.TextOutW(GRAPH_X_COORD + stepX * i, GRAPH_Y_COORD + stepY, szBuffer);
			szBuffer.Empty();
		}
		break;
	case GRAPH_MODE_YEAR:
		//2015 2016 ... 2020 (6 point)
		numStep = 6;
		stepX = GRAPH_X_AXIS_LENGTH/(numStep-1);
		stepY = 10;
		for(i = 0; i < numStep; i++){
			szBuffer.Format(_T("%d"), 2015 + i);
			dc.TextOutW(GRAPH_X_COORD + stepX * i, GRAPH_Y_COORD + stepY, szBuffer);
			szBuffer.Empty();
		}
		break;
	default:
		break;
	}


	//draw graph
	SysGraphDataIt_t it=m_dataList->begin();
	dc.SelectObject(&m_graphPen);
	if(it != m_dataList->end()){
		dc.MoveTo(GRAPH_X_COORD, GRAPH_Y_COORD - (*it)*GRAPH_Y_AXIS_LENGTH/100);
	}
	for(i = 0; i < numStep; i++){
		if(it != m_dataList->end()){
			dc.LineTo(GRAPH_X_COORD + stepX * i, GRAPH_Y_COORD - (*it)*150/100);
			it++;
		}
	}
		

	dc.RestoreDC(m_nSave);
}