65.9K
CodeProject 正在变化。 阅读更多。
Home

LED 时间和数值显示控件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.78/5 (11投票s)

2000年1月17日

viewsIcon

107247

downloadIcon

5113

一个使用 LED 数字风格显示来显示时间和数字的控件

  • 下载演示项目 - 47 KB
  • 下载源代码文件 - 4 Kb
  • Sample Image - CStaticTime.gif

    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") 
    猜猜!!
    © . All rights reserved.