1.cpp

来自「通过一个dll创建工程和一个dll使用工程来进行非MFC DLL的创建和使用方法」· C++ 代码 · 共 60 行

CPP
60
字号
#include "1.h"
#include "stdafx.h"
void DrawScore(CDC *pDC,float *fScore,int nNum)
{
	int nScoreNum[]={0,0,0,0,0};
	for(int i=0;i<nNum;i++)
	{
		int nSeg=(int)(fScore[i])/10;
		if(nSeg<6)
			nSeg=5;
		if(nSeg==10)
			nSeg=9;
		nScoreNum[nSeg-5]++;
	}
	int nSegNum=sizeof(nScoreNum)/sizeof(int);//?

	int nNumMax=nScoreNum[0];
	for(i=0;i<nSegNum;i++)
	{
		if(nNumMax<nScoreNum[i])
			nNumMax=nScoreNum[i];
	}

	CRect rc;
	GetClientRect(rc);
	rc.DeflateRect(40,40);
	int nSegWidth=rc.Width()/nSegNum;
	int nSegHeight=rc.Height()/nNumMax;
	COLORREF crSeg=RGB(0,0,192);
	CBrush brush1(HS_FDIAGONAL,crSeg);
	CBrush brush2(HS_BDIAGONAL,crSeg);
	CPen pen(PS_INSIDEFRAME,2,crSeg);
	CBrush* oldBrush=pDC->SelectObject(&brush1);
	CPen* oldPen=pDC->SelectObject(&pen);
	CRect rcSeg(rc);
	rcSeg.right=rcSeg.left+nSegWidth;
	CString strSeg[]={"<60","60-70","70-80","80-90",">=90"};
	CRect rcStr;
	for(i=0;i<nSegNum;i++)
	{
		if(i%2)
			pDC->SelectObject(&brush2);
		else
			pDC->SelectObject(&brush1);
		rcSeg.top=rcSeg.bottom-nScoreNum[i]*nSegHeight-2;
		pDC->Rectangle(rcSeg);
		if(nScoreNum[i]>0)
		{
			CString str;
			str.Format("%d人",nScoreNum[i]);
			pDC->DrawText(str,rcSeg,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
		}
		rcStr=rcSeg;
		rcStr.top=rcStr.bottom+2;
		rcStr.bottom+=20;
		pDC->DrawText(strSeg[i],rcStr,DT_CENTER|DT_VCENTER|DT_SINGLELINE);
		rcSeg.OffsetRect(nSegWidth,0);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?