• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 求助:仪表盘控件背景刷新问题??

求助:仪表盘控件背景刷新问题??

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了仪表盘控件,c#仪表盘控件,android仪表盘控件,仪表控件,c#仪表控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 求助:仪表盘控件背景刷新问题??
描述:

我编写了一个仪表盘的控件,先前是让这个控件从背景到上面的指针全部都刷新,但如果多个控件同时运行时CPU的使用率总是很高,现在我想把仪表盘控件背景的刻度和背景色 只在载入时运行,这样CPU的使用率就比较低了。
有谁知道该怎么改??
我把所有都写在 OnDraw()里面了
OnDraw(
CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid)
{
// TODO: Replace the following code with your own drawing code.
         CDC m_dcBackground;
COLORREF cMiddle,cEdge,cFont;
CMemDC memDC(pdc, &rcBounds);
CMeter mymeter; // 仪表盘的主函数
cEdge = TranslateColor(GetBackColor());
cFont = GetFontColor();
mymeter.SetCFont(cFont);
mymeter.SetCaption(GetText());
mymeter.SetMinValue(GetMinValue());
mymeter.SetMaxValue(GetMaxValue());
mymeter.SetStartAngle(GetStartAngle());
mymeter.SetEndAngle(GetEndAngle());
mymeter.SetTicks(GetTicks());
mymeter.SetSubTicks(GetSubTicks());
mymeter.SetHighDanger(GetHighDanger());
mymeter.SetLowDanger(GetLowDanger());
mymeter.SetCurrentValue(GetValue());
mymeter.SetScaleColor(GetScaleColor());
if (m_value < m_lowDanger || m_value > m_highDanger && i != 0)
{
cMiddle = RGB(128,0,0);
SetTimer(1,1000,NULL);
i = 0;
} 
else
{
i++;
cMiddle = TranslateColor(GetForeColor());
}
mymeter.SetCEdge(cEdge);
mymeter.SetCMiddle(cMiddle);
memDC.BitBlt(0, 0, rcBounds.Width(), rcBounds.Height(), 
           &m_dcBackground, 0, 0, SRCCOPY) ;
mymeter.DrawMeterBackground(&memDC, &rcBounds);// 背景刻度
mymeter.DrawValue(&memDC);// 仪表盘 标志,精确刻度
mymeter.DrawNeedle(&memDC);// 仪表盘 指针
mymeter.DrawNode(&memDC); // 仪表盘 中心点
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 求助:仪表盘控件背景刷新问题??

相关文章

  • 2017-06-05 DLL中能不能导出重载函数,怎么做?
  • 2017-06-04 紧急求助高人关于BSTRToString的内存泄漏问题
  • 2017-06-05 调用delphi写的DLL抛出异常访问异常,怎么解决?
  • 2017-06-05 一个关于创建进程的问题:
  • 2017-06-04 调通串口的问题
  • 2017-06-05 为什么被共享的页面在各个进程表中的页号必须相同?页式管理/请求页式管理
  • 2017-06-04 MFC编写ActiveX,在属性页中如何得到控件的指针?
  • 2017-06-05 熟悉DOS的高手帮忙看看
  • 2017-06-05 如何用VC更改EXCEL右键菜单项
  • 2017-06-05 如何将一个线程的消息自动转发到另外一个线程中!!!!

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 我的子线程阻塞后,直接结束对话框,产生内存泄露,怎么解决?
    • 应用程序间使用COM接口调用问题
    • 发现在com组件中使用内存映射大文件时出现内存不足的错误
    • 在activeX中再嵌入Excel谁做过?救急
    • 使用了Web浏览器控件后出现的问题!!!求高手帮忙!
    • DLL导出导入
    • 关于2000内核进程与用户进程交互的问题!请高手赐教!
    • 如何启动外部进程?有几种方法?
    • 关于#import导入dll的使用的务必请各位来看看!!!
    • 请高手指点!迷茫中,对本人影响极大

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有