|
|
如果把hfont建成全局变量又能一直显示,但是如果反复调用这个函数,无论字体参数是如何,都会以第一次绘制字体时的属性绘制。
这个函数我是在绘制完图形之后调用的。
void C_Sprite2D::ShowText(char *text,int x, int y,char *fontstyle,int fontsize,int fontColor,BOOL fdwItalic,BOOL fdwUnderline,BOOL fdwStrikeOut)
{
HDC hdc;
m_pcBackVid->GetDC(&hdc);
SetBkMode(hdc,TRANSPARENT);
SetTextColor(hdc,fontColor);
HFONT hfont = CreateFont(fontsize,0,0,0,FW_NORMAL,
fdwItalic,fdwUnderline,fdwStrikeOut,DEFAULT_CHARSET,
OUT_RASTER_PRECIS,CLIP_DEFAULT_PRECIS,
VARIABLE_PITCH|PROOF_QUALITY,FF_DONTCARE,fontstyle);
SelectObject(hdc,hfont);
TextOut(hdc,x,y,text,strlen(text));
m_pcBackVid->ReleaseDC(hdc);
}
|
|