版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/UNP 336-2024能量海绵及其制品技术规范
- T/TIC 048-2024信息技术应用创新软硬件部署服务规范
- T/HBZLWH 001-2021卓越班组评价准则
- T/CFEII 0015.2-2023内容安全检测人工智能系统鲁棒性测评规范 第2部分:视频
- T/CAAMTB 219-2024汽车SOA架构设计与软件平台框架
- T/CASME 1922-2025锂离子电池及电池组用热失控防护材料可陶瓷化硅橡胶
- T/CAMETA 001041-2024机器人用精密行星摆线减速器加速寿命试验方法
- 锅炉技师选拔考试试题及答案
- 基于跨模态特征融合的多模态情感分析结题报告
- 乐理考试中关于音程的试题及答案
- 2026年现代汉语概论语法试题题库及参考答案
- 2026年秋季学期防灾减灾安全教育培训课件:地震应急避险与自救互救
- Unit 2 Getting together(Period 1)(教案)-2026-2027学年人教PEP版英语六年级上册
- 2026年中学大先生精神与教师使命学习课件
- 2026年湖北省中考英语真题(含答案)
- 压力容器年度安全检验实施方案
- 2026年成都市郫都区增量政策性岗位招募的(366人)笔试备考题库及答案详解
- 农机驾驶操作技能测试题目及答案
- 2026年秋季开学第一课:强国复兴有我
- 2024人教版八年级生物上册期末复习知识点背记提纲
- 2026新教材语文 16.金字塔第1课时【教学课件】2026-2027学年部编版五年级语文上册
评论
0/150
提交评论