| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 
 | BOOL CFenetrePostItDlg::OnEraseBkgnd(CDC* pDC)
{
	if (this->blnIconise)
	{
		// Fixe une brosse avec la couleur de fond choisie
		//CBrush BkClrBrush(RGB(255, 128, 128));
 
		// Sauvegarde lancienne brosse.
		//CBrush* pOldBrush = pDC->SelectObject(&BkClrBrush);
 
		COLORREF couleurCorps;
		for(int i = 0; i < this->OPostit->GetLargeur(); i++)
		{
			CPen* oldPen;
			int n = 255-((int)((double)(((double)i)/this->OPostit->GetLargeur())*191));
			couleurCorps = RGB(32,n,255);
			CPen pen(PS_SOLID, 1, couleurCorps);
			pDC->MoveTo(i,0);
			oldPen = pDC->SelectObject(&pen);
			pDC->LineTo(i,this->OPostit->GetHauteur());
			pDC->SelectObject(oldPen);
		}
		//pDC->SelectObject(pOldBrush);// restitue lancienne brosse.
	}
	else
	{
		// Fixe une brosse avec la couleur de fond choisie
		//CBrush BkClrBrush(RGB(255, 128, 128));
 
		// Sauvegarde lancienne brosse.
		//CBrush* pOldBrush = pDC->SelectObject(&BkClrBrush);
 
		CRect rect;
		pDC->GetClipBox(&rect);    // récupère la zone a effacer.
		COLORREF couleurCorps, couleurReplie, couleurCoin, couleurTrait;
		couleurReplie = RGB(32,32,160);
		couleurCoin = RGB(0,0,0);
		couleurTrait = RGB(0,0,0);
 
		for(int i = 0; i < rect.Width(); i++)
		{
			double color;
			CPen* oldPen;
			int n = 255-((int)((double)(((double)i)/rect.Width())*191));
			couleurCorps = RGB(32,n,255);
			if ((rect.Width()-i)==40)
			{
				CPen pen(PS_SOLID, 1, couleurTrait);
				pDC->MoveTo(i,0);
				oldPen = pDC->SelectObject(&pen);
				pDC->LineTo(i,39);
				CPen pen2(PS_SOLID, 1, couleurCorps);
				pDC->MoveTo(i,40);
				oldPen = pDC->SelectObject(&pen2);
				pDC->LineTo(i,rect.bottom);
				pDC->SelectObject(oldPen);
			} else if ((rect.Width()-i)<=40) {
				int j = rect.Width()-i;
				CPen pen(PS_SOLID, 1, couleurCoin);
				pDC->MoveTo(i,0);
				oldPen = pDC->SelectObject(&pen);
				pDC->LineTo(i,40-(j+1));
				CPen pen2(PS_SOLID, 1, couleurTrait);
				pDC->MoveTo(i,40-j);	
				oldPen = pDC->SelectObject(&pen2);
				pDC->LineTo(i,40-j);
				CPen pen3(PS_SOLID, 1, couleurReplie);
				pDC->MoveTo(i,40-(j-1));	
				oldPen = pDC->SelectObject(&pen3);
				pDC->LineTo(i,39);
				CPen pen4(PS_SOLID, 1, couleurCorps);
				pDC->MoveTo(i,40);
				oldPen = pDC->SelectObject(&pen4);
				pDC->LineTo(i,rect.bottom);	
				pDC->SelectObject(oldPen);
			} else {
				CPen pen(PS_SOLID, 1, couleurCorps);
				pDC->MoveTo(i,0);
				oldPen = pDC->SelectObject(&pen);
				pDC->LineTo(i,rect.bottom);
				pDC->SelectObject(oldPen);
			}
		}
		//pDC->SelectObject(pOldBrush);// restitue lancienne brosse.
	}
	return TRUE;
} | 
Partager