使用Ellipse()画椭圆时,怎么样使该椭圆上显示出数字呢?我画了4个椭圆,想分别在上面标出1、2、3、4的序号.请问怎么样才能实现呢?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/06 07:44:07
使用Ellipse()画椭圆时,怎么样使该椭圆上显示出数字呢?我画了4个椭圆,想分别在上面标出1、2、3、4的序号.请问怎么样才能实现呢?

使用Ellipse()画椭圆时,怎么样使该椭圆上显示出数字呢?我画了4个椭圆,想分别在上面标出1、2、3、4的序号.请问怎么样才能实现呢?
使用Ellipse()画椭圆时,怎么样使该椭圆上显示出数字呢?
我画了4个椭圆,想分别在上面标出1、2、3、4的序号.请问怎么样才能实现呢?

使用Ellipse()画椭圆时,怎么样使该椭圆上显示出数字呢?我画了4个椭圆,想分别在上面标出1、2、3、4的序号.请问怎么样才能实现呢?
DwPAINTSTRUCT ps;
HDC hdc;
hdc = BeginPaint(hWnd,&ps);
SetTextColor(hdc,RGB(255,0,0));
HBRUSH hBrush = CreateSolidBrush(RGB(255,255,255));
HBRUSH hOldBrush = (HBRUSH)SelectObject(hdc,hBrush);
RECT rect;
GetClientRect(hWnd,&rect);
int xCenter = rect.right/2;
int yCenter = rect.bottom/2;
Ellipse(hdc,xCenter-50,yCenter-50,xCenter+50,yCenter+50);
char szId[10]="";
int nNum = 0; //计数器,可以定义为static
RECT idRect; //定义写入数字的矩形
idRect.left = xCenter-10;
idRect.top = yCenter-10;
idRect.right = xCenter+10;
idRect.bottom = yCenter+10;
wsprintf(szId,"%d",nNum);
DrawText(hdc,szId,strlen(szId),&idRect,DT_VCENTER | DT_CENTER);
SelectObject(hdc,hOldBrush);
DeleteObject(hBrush);
EndPaint(hWnd,&ps);
return 0;
使用DrawText函数,上面只是给你举了一个例子,其余的都一样,注意调整画数字时的坐标