关于网友提出的“ 要实现系统时间显示无闪烁,怎样将上一时刻的显示清空呢”问题疑问,本网通过在网上对“ 要实现系统时间显示无闪烁,怎样将上一时刻的显示清空呢”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 要实现系统时间显示无闪烁,怎样将上一时刻的显示清空呢
描述:cstring内存字体
CTime time;
time = CTime::GetCurrentTime(); //获得当前时间
CString m_str_time_date = _T("");
m_str_time_date.Format(_T("%02d/%02d/%d %02d:%02d:%02d"),
time.GetMonth(),time.GetDay(),time.GetYear(),
time.GetHour(),time.GetMinute(),time.GetSecond()); //格式转换
dc.SelectObject(&m_time_data); //将m_time_data这个字体,加载到dc中
dc.SetBkMode(TRANSPARENT); //设置透明的背景模式
dc.SetTextColor(RGB(255,255,255)); //白色
dc.ExtTextOut(TIME_DATE_X1,TIME_DATE_Y1,ETO_CLIPPED,NULL,L"",NULL); //输出 空
dc.ExtTextOut(TIME_DATE_X1,TIME_DATE_Y1,ETO_CLIPPED,NULL,m_str_time_date,NULL); //输出时间,日期
DeleteObject(m_time_data); //释放内存
----------------------------------------------------------------------------------------------------------------------------
dc.ExtTextOut(TIME_DATE_X1,TIME_DATE_Y1,ETO_CLIPPED,NULL,L"",NULL); //输出 空
就是这句,执行后显示不能清除,有没有好办法,网上说的双缓冲太麻烦,拜托
解决方案1: 调试双缓存吧,其它暂时没有好方法
解决方案2: 双缓冲是解决闪烁问题的经典方法,不是很复杂。得有信心
以上介绍了“ 要实现系统时间显示无闪烁,怎样将上一时刻的显示清空呢”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3622900.html