这段代码是原子写的为甚下到板子上没办法自动换行
void Show_Str(u16 x,u16 y,u16 width,u16 height,u8*str,u8 size,u8 mode)
{
u16 x0=x;
u16 y0=y;
u8 bHz=0; //×Ö·û»òÕßÖDÎÄ
while(*str!=0)//êy¾YÎ′½áêø
{
if(!bHz)
{
if(*str>0x80)bHz=1;//ÖDÎÄ
else //×Ö·û
{
if(x>(x0+width-size/2))//»»DD
{
y+=size;
x=x0;
}
if(y>(y0+height-size))break;//Ô½½ç·μ»Ø
if(*str==13)//»»DD·ûoÅ
{
y+=size;
x=x0;
str++;
}
else LCD_ShowChar(x,y,*str,size,mode);//óDD§2¿·ÖD′èë
str++;
x+=size/2; //×Ö·û,Îaè«×ÖμÄò»°ë
}
}else//ÖDÎÄ
{
bHz=0;//óDoo×Ö¿a
if(x>(x0+width-size))//»»DD
{
y+=size;
x=x0;
}
if(y>(y0+height-size))break;//Ô½½ç·μ»Ø
Show_Font(x,y,str,size,mode); //ÏÔê¾Õa¸öoo×Ö,¿ÕDÄÏÔê¾
str+=2;
x+=size;//ÏÂò»¸öoo×ÖÆ«òÆ
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>