如果DRAW的文字显示函数是这样的,那么d3d应该怎么写。
本帖最后由 nabasasun 于 2013-07-07 13:30:42 编辑
//文字显示
void PrintText(LPDIRECTDRAWSURFACE Surf,int x,int y,char *Text,DWORD color=RGB(0,0,0), DWORD BK=TRANSPARENT, DWORD BkColor=RGB(255,255,255),int WIDTH=50)
{
HDC hdc;
int ChrLen;
char Tmp[100];
if( Text=="" ) return;
Surf->GetDC(&hdc);
SetBkMode(hdc, BK);
SetBkColor(hdc, BkColor);
SetTextColor(hdc, color);
SelectObject(hdc,Font);
ChrLen=strlen(Text)+1;
for(int i=0; i<=ChrLen/WIDTH; i++ )
{
memset(Tmp,0,100);
for(int j=0; j<((i==ChrLen/WIDTH)?ChrLen%WIDTH:WIDTH); j++)
{
Tmp[j]=*Text;
Text++;
}
TextOut(hdc, x, y, Tmp, strlen(Tmp));
y+=20;
}
Surf->ReleaseDC(hdc);
}