|
void DispDayTime(void)
{
GUI_SetTextMode(GUI_TEXTMODE_TRANS);
GUI_SetColor(GUI_BLUE);
GUI_SetFont(&GUI_Font20B_ASCII);
GUI_DispDecAt(calendar.w_year,227,0,4);
GUI_DispString("/");
GUI_DispDec(calendar.w_month,2);
GUI_DispString("/");
GUI_DispDec(calendar.w_date,2);
GUI_DispDecAt(calendar.hour,227,20,2);
GUI_DispString(":");
GUI_DispDec(calendar.min,2);
GUI_DispString(":");
GUI_DispDec(calendar.sec,2);
GUI_SetFont(&GUI_FontHZ16);
switch(calendar.week)
{
case 0: GUI_DispString("日");break;
case 1: GUI_DispString("一");break;
case 2: GUI_DispString("二");break;
case 3: GUI_DispString("三");break;
case 4: GUI_DispString("四");break;
case 5: GUI_DispString("五");break;
case 6: GUI_DispString("六");break;
}
}
我在背景窗口的WM_PAINT消息下显示背景图片和时间,如下:
case WM_PAINT:
GUI_Clear();
GUI_DrawBitmap(&_bmHund, 0, 0); //显示背景图片
DispDayTime(); //显示时间
break;
当我把文本模式设置为透明模式GUI_TEXTMODE_TRANS时,时间是重叠显示不刷新。
当我不设置透明模式时,时间显示正常,但会有背景色,不是直接在背景图片上显示,达不到我的要求。
请问这是什么原因啊?是哪里的问题造成的? |
|