Beispiel #1
0
void CZarplataView::OnDraw(CDC* pDC)
{
	CZarplataDoc* pDoc = GetDocument();
	MyCollection* myColl = pDoc->myColl;
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;
	pDoc->table.Draw(pDC, myColl);
	pDoc->table.DrawCap(pDC);
	CBitmap* bitmap;
	if(myColl->isReverse)
		bitmap = tRed;
	else
		bitmap = tBlue;
	pDoc->table.drawTriangleSort(pDC, myColl, bitmap, tSort);
	if(myColl->GetLength() > 0)
	{
		CString summa;
		Person* p = myColl->getOnIndex(myColl->curMap, 1);
		summa = p->ToCString(myColl->getSumSalary());
		pDoc->table.DrawDedicated(pDC);
		pDoc->table.DrawCellar(pDC, pDoc->table.sumCell, summa);
	}
	else
		curCell = 0;
	
	//pDC->Rectangle(0, 0, 1390, 300); //
	
	// TODO: добавьте здесь код отрисовки для собственных данных
}
Beispiel #2
0
void CMyTable::Draw(CDC* pDC, MyCollection* coll)
{
	//pDC->MoveTo(X, Y);
	int startX = X, startY = Y + cellHeight, finishX, finishY;
	CRect rect;
	CPen aPen;
	aPen.CreatePen(PS_SOLID, 1, RGB(150, 150, 150));
	CPen* oldPen;
	oldPen = pDC->SelectObject(&aPen);
	coll->startPos = true;
	sumCell = 0;
	for(int i = 0; i < coll->GetLength(); i++)
	{
		Person* p = coll->getPerson();
		if(p == NULL)break;
		sumCell++;
		finishY = startY + cellHeight;
		for(int j = 0; j < 5; j++)
		{
			if(j == 0)
			{
				finishX = startX + 340;
				rect.SetRect(startX, startY, finishX + 1, finishY + 1);
				pDC->Rectangle(&rect);
				rect.SetRect(startX + 20, startY, finishX + 20 + 1, finishY + 1);
				pDC->SetTextColor(RGB(20, 20, 20));
				pDC->DrawTextW(p->getInitial(), &rect, DT_LEFT | DT_VCENTER | DT_SINGLELINE | DT_NOCLIP);
				//pDC->SelectObject(oldPen);
			}
			if(j == 1)
			{
				startX = finishX;
				finishX = startX + 145;
				rect.SetRect(startX, startY, finishX + 1, finishY + 1);
				pDC->Rectangle(&rect);
				CString str = p->ToCString(p->getSumHours());
				pDC->DrawTextW(str, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE | DT_NOCLIP);
			}
			if(j == 2)
			{
				startX = finishX;
				finishX = startX + 145;
				rect.SetRect(startX, startY, finishX + 1, finishY + 1);
				pDC->Rectangle(&rect);
				CString str = p->ToCString(p->getTarif());
				str = str + ' ' + 'p';
				pDC->DrawTextW(str, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE | DT_NOCLIP);
			}
			if(j == 3)
			{
				startX = finishX;
				finishX = startX + 340;
				rect.SetRect(startX, startY, finishX + 1, finishY + 1);
				pDC->Rectangle(&rect);
				CString str = p->ToCString(p->getSalary());
				str = str + ' ' + 'p';
				pDC->DrawTextW(str, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE | DT_NOCLIP);
			}
			if(j == 4)
			{
				startX = finishX;
				finishX = startX + 340;
				rect.SetRect(startX, startY, finishX + 1, finishY + 1);
				pDC->Rectangle(&rect);
				CString str = p->ToCString(p->getId());
				pDC->DrawTextW(str, &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE | DT_NOCLIP);
			}
		}
		startX = X;
		startY += cellHeight;
	}
	pDC->SelectObject(oldPen);
}