LED 时间和数值显示控件






4.78/5 (11投票s)
2000年1月17日

107247

5113
一个使用 LED 数字风格显示来显示时间和数字的控件
CStaticTime
类简化了使用数字风格计数器显示时间和数值,无需使用位图。
该类使用 Keith Rule 的 双缓冲类 来完全消除闪烁,并使用 MoveTo/LineTo
进行绘制,因此没有位图依赖。
该类还使用静态控件的尺寸来计算度量,这意味着无论控件的大小如何,它都可以绘制出良好成型的数字,且无需过多干预。
方法
void Display(CString strDisplay)
此函数将以数字计数器样式显示您的字符串,忽略所有字符,仅保留:0 1 2 3 4 5 6 7 8 9 。
void Display(UINT uSecs=0, UINT uMins=0, UINT uHours=0, UINT uDays=0, CString strFormat="%D:%H:%M:%S")
此函数使您可以简单地告诉控件显示,例如 5196 秒,只需输入 Display(5196)
。输出将以 D:H:M:S 格式显示,除非您相应地更改格式字符串(最后一个参数)。
void SetColourFaded( COLORREF cr )
使用此函数可以手动覆盖控件中绘制的褪色刻度的颜色。如果您没有覆盖褪色颜色,并且 m_bDrawFaded 为“true”,则控件将绘制出指定前景色(m_crForeground)的“三分之一”颜色。
void SetColourBackground(COLORREF crColour)
不带任何参数调用此函数将导致控件将背景颜色设置为 ::GetSysColor(COLOR_BTNFACE
)。void SetColourForeground(COLORREF crColour)
不带任何参数调用此函数将导致控件将前景色设置为 ::GetSysColor(COLOR_BTNTEXT)
。void DisplayCurrentTime(CString strFormat = "%H:%M:%S")猜猜!!