要实现系统时间显示无闪烁,怎的将上一时刻的显示清空呢
要实现系统时间显示无闪烁,怎样将上一时刻的显示清空呢
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); //输出 空
就是这句,执行后显示不能清除,有没有好办法,网上说的双缓冲太麻烦,拜托
------解决思路----------------------
双缓冲是解决闪烁问题的经典方法,不是很复杂。得有信心
------解决思路----------------------
调试双缓存吧,其它暂时没有好方法
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); //输出 空
就是这句,执行后显示不能清除,有没有好办法,网上说的双缓冲太麻烦,拜托
------解决思路----------------------
双缓冲是解决闪烁问题的经典方法,不是很复杂。得有信心
------解决思路----------------------
调试双缓存吧,其它暂时没有好方法