



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/ 红色指示条的定义ColorStaticST.h#ifndef _COLORSTATICST_H#define _COLORSTATICST_H#if _MSC_VER >= 1000#pragma once#endif / _MSC_VER >= 1000/ ColorStaticST.h : header file/class CColorStaticST : public CStatic/ Construction public:CColorStaticST();enum ST_FLS_SLOW,ST_FLS_NORMAL,ST_FLS_FAST;/ Attributes
2、public:/ Operations public:/ Overrides/ ClassWizard generated virtual function overrides/ Implementationpublic:virtual CColorStaticST();void SetTextColor(COLORREF crTextColor = 0xffffffff);COLORREF GetTextColor();void SetBkColor(COLORREF crBkColor = 0xffffffff);COLORREF GetBkColor();void SetBlinkTex
3、tColors(COLORREF crBlinkTextColor1, COLORREF crBlinkTextColor2); void StartTextBlink(BOOL bStart = TRUE, UINT nElapse = ST_FLS_NORMAL);void SetBlinkBkColors(COLORREF crBlinkBkColor1, COLORREF crBlinkBkColor2);void StartBkBlink(BOOL bStart = TRUE, UINT nElapse = ST_FLS_NORMAL);void EnableNotify(CWnd*
4、 pParent = NULL, UINT nMsg = WM_USER);static const short GetVersionI();static const char* GetVersionC();/ Generated message map functions protected:afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor); afx_msg void OnTimer(UINT nIDEvent);afx_msg void OnDestroy();DECLARE_MESSAGE_MAP()private:UINT m_nTim
5、erId;COLORREF m_crTextColor;COLORREF m_crBlinkTextColors2;BOOL m_bTextBlink;int m_nTextBlinkStep;COLORREF m_crBkColor;COLORREF m_crBlinkBkColors2;BOOL m_bBkBlink;int m_nBkBlinkStep;CBrush m_brBkgnd;CBrush m_brBlinkBkgnd2;CWnd* m_pParent;UINT m_nMsg;#endif/ 红色指示条的实现 ColorStaticST.cpp/ ColorStaticST.c
6、pp : implementation file#include "stdafx.h"#include "ColorStaticST.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ 电梯停止及运行时所在楼层颜色条状态显示/ 构造函数和析构函数CColorStaticST:CColorStaticST()/ Set default parent window and notification message m_pParen
7、t = NULL;m_nMsg = WM_USER;/ By default the control is not blinkingm_bTextBlink = FALSE;m_nTextBlinkStep = 0;m_bBkBlink = FALSE;m_nBkBlinkStep = 0;m_nTimerId = 0;/ Set default foreground textm_crTextColor = :GetSysColor(COLOR_BTNTEXT);/ Set default foreground text (when blinking) m_crBlinkTextColors0
8、 = m_crTextColor; m_crBlinkTextColors1 = m_crTextColor;/ Set default background textm_crBkColor = :GetSysColor(COLOR_BTNFACE);/ Set default background text (when blinking) m_crBlinkBkColors0 = m_crBkColor; m_crBlinkBkColors1 = m_crBkColor;/ Set default background brushm_brBkgnd.CreateSolidBrush(m_cr
9、BkColor);/ Set default background brush (when blinking)m_brBlinkBkgnd0.CreateSolidBrush(m_crBkColor);m_brBlinkBkgnd1.CreateSolidBrush(m_crBkColor); / End of CColorStaticSTCColorStaticST:CColorStaticST() / End of CColorStaticSTBEGIN_MESSAGE_MAP(CColorStaticST, CStatic)ON_WM_CTLCOLOR_REFLECT()ON_WM_TI
10、MER()ON_WM_DESTROY()END_MESSAGE_MAP()/ 颜色条标示消息响应HBRUSH CColorStaticST:CtlColor(CDC* pDC, UINT nCtlColor)/ Set foreground color/ If control is blinking (text) if (m_bTextBlink = TRUE)pDC->SetTextColor(m_crBlinkTextColorsm_nTextBlinkStep);elsepDC->SetTextColor(m_crTextColor);/ Set background col
11、or & brush/ If control is blinking (background)if (m_bBkBlink = TRUE)pDC->SetBkColor(m_crBlinkBkColorsm_nBkBlinkStep);return (HBRUSH)m_brBlinkBkgndm_nBkBlinkStep;/ If control is not blinking (background) pDC->SetBkColor(m_crBkColor);/ Return a non-NULL brush if the parent's handler sho
12、uld not be called return (HBRUSH)m_brBkgnd; / End of CtlColorvoid CColorStaticST:OnDestroy()CStatic:OnDestroy();/ Destroy timer (if any)if (m_nTimerId > 0) KillTimer(m_nTimerId);/ Destroy resourcesm_brBkgnd.DeleteObject();m_brBlinkBkgnd0.DeleteObject();m_brBlinkBkgnd1.DeleteObject(); / End of OnD
13、estroyvoid CColorStaticST:SetTextColor(COLORREF crTextColor)/ Set new foreground colorif (crTextColor != 0xffffffff)m_crTextColor = crTextColor;else / Set default foreground colorm_crTextColor = :GetSysColor(COLOR_BTNTEXT);/ Repaint controlInvalidate(); / End of SetTextColorCOLORREF CColorStaticST:G
14、etTextColor()return m_crTextColor; / End of GetTextColorvoid CColorStaticST:SetBkColor(COLORREF crBkColor)/ Set new background color if (crBkColor != 0xffffffff)m_crBkColor = crBkColor;else / Set default background colorm_crBkColor = :GetSysColor(COLOR_BTNFACE);m_brBkgnd.DeleteObject();m_brBkgnd.Cre
15、ateSolidBrush(m_crBkColor);/ Repaint control Invalidate(); / End of SetBkColorCOLORREF CColorStaticST:GetBkColor()return m_crBkColor; / End of GetBkColorvoid CColorStaticST:SetBlinkTextColors(COLORREF crBlinkTextColor1, crBlinkTextColor2)/ Set new blink text colorsm_crBlinkTextColors0 = crBlinkTextC
16、olor1;m_crBlinkTextColors1 = crBlinkTextColor2; / End of SetBlinkTextColorsvoid CColorStaticST:StartTextBlink(BOOL bStart, UINT nElapse)UINT nCount;/ Destroy any previous timer if (m_nTimerId > 0)KillTimer(m_nTimerId);m_nTimerId = 0;m_bTextBlink = bStart;m_nTextBlinkStep = 0;/ Start timerif (m_bT
17、extBlink = TRUE)COLORREFswitch (nElapse)case ST_FLS_SLOW:nCount = 2000;break;case ST_FLS_NORMAL:nCount = 1000;break;case ST_FLS_FAST:nCount = 500;break;default:nCount = nElapse;break;m_nTimerId = SetTimer(1, nCount, NULL); / End of StartTextBlinkvoid CColorStaticST:SetBlinkBkColors(COLORREF crBlinkB
18、kColor1, COLORREF crBlinkBkColor2) / Set new blink background colorsm_crBlinkBkColors0 = crBlinkBkColor1;m_crBlinkBkColors1 = crBlinkBkColor2;m_brBlinkBkgnd0.DeleteObject();m_brBlinkBkgnd0.CreateSolidBrush(m_crBlinkBkColors0);m_brBlinkBkgnd1.DeleteObject();m_brBlinkBkgnd1.CreateSolidBrush(m_crBlinkB
19、kColors1);/ Repaint control Invalidate(); / End of SetBlinkBkColorvoid CColorStaticST:StartBkBlink(BOOL bStart, UINT nElapse)UINT nCount;/ Destroy any previous timer if (m_nTimerId > 0)KillTimer(m_nTimerId);m_nTimerId = 0;m_bBkBlink = bStart;m_nBkBlinkStep = 0;/ Start timerif (m_bBkBlink = TRUE)s
20、witch (nElapse)case ST_FLS_SLOW:nCount = 2000;break;case ST_FLS_NORMAL:nCount = 1000;break;case ST_FLS_FAST:nCount = 500;break;default:nCount = nElapse;break;m_nTimerId = SetTimer(1, nCount, NULL); / End of StartBkBlinkvoid CColorStaticST:EnableNotify(CWnd* pParent, UINT nMsg)m_pParent = pParent;m_nMsg = nMsg; / End of EnableNotifyconst short CColorStaticST:GetVersionI()return 10; / Divide by 10 to get actual version / End of GetVersionIconst char* CColorStaticST:GetVersionC()return "1.0" / End
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市湿地公园综合效益评价研究-以XZ湿地公园为例
- 多囊肾的超声诊断
- 保育员培训:卫生与消毒
- 阑尾炎的护理诊断与护理措施
- 项目进度管理课件
- 油田开发项目运营管理方案
- 高效节能电机项目节能评估报告
- 2025年水稻钵苗行栽机合作协议书
- 电网侧独立储能示范项目投标书(范文模板)
- 西医外科治疗前列腺增生诊疗规范
- 2025年广西中考语文试题卷(含答案)
- 《安徽省工伤职工停工留薪期分类目录》
- 北师大版八年级上册物理(基础版)(全册知识点考点梳理、重点题型分类巩固练习)(家教、补习、复习用)
- 护士延续注册体检表通用
- GB 2762-2022食品安全国家标准食品中污染物限量
- GB/T 31776-2015车用甲醇汽油中甲醇含量检测方法
- 工程力学基础(讲义)
- 心电图报告的书写规范化培训课件
- 小学数学西南师大四年级下册八平均数小学数学西师版四年级下册《平均数》教学设计
- 药物外渗的严重后果及处理课件
- 2021年软件开发管理流程制度(附全套表格模板及填写指引)58页
评论
0/150
提交评论