您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 做一个工作指示灯,1秒闪烁一次,开始用按钮控件结果刷屏效果明显,现改为picture control问题是不能切换显示

做一个工作指示灯,1秒闪烁一次,开始用按钮控件结果刷屏效果明显,现改为picture control问题是不能切换显示

来源:网络整理     时间:2016/8/27 3:50:56     关键词:

关于网友提出的“ 做一个工作指示灯,1秒闪烁一次,开始用按钮控件结果刷屏效果明显,现改为picture control问题是不能切换显示”问题疑问,本网通过在网上对“ 做一个工作指示灯,1秒闪烁一次,开始用按钮控件结果刷屏效果明显,现改为picture control问题是不能切换显示”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 做一个工作指示灯,1秒闪烁一次,开始用按钮控件结果刷屏效果明显,现改为picture control问题是不能切换显示
描述:

控件

1.控件
 做一个工作指示灯,1秒闪烁一次,开始用按钮控件结果刷屏效果明显,现改为picture control问题是不能切换显示
2.初始化
HICON m_hIcon_open;         //图标句柄 Led开
HICON m_hIcon_close; //图标句柄 Led关
CStatic m_icon_state; //图标变量
3.调用
if((g_one_second_flag != NO) && (g_starting_flag == YES))
{
m_hIcon_open = LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1_OPEN));//加载图标资源
m_icon_state.SetIcon(m_hIcon_open,TRUE);
CRect rect1(428,181,462,214); //刷新显示
InvalidateRect(&rect1,FALSE); //矩形区域失效
}
else if((g_one_second_flag == NO) && (g_starting_flag == YES))
{
m_hIcon_close = LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON2_CLOSE));//加载图标资源
m_icon_state.SetIcon(m_hIcon_close,TRUE);
CRect rect1(428,181,462,214); //刷新显示
InvalidateRect(&rect1,FALSE); //矩形区域失效
         }
4.问题:控件不能显示图标,只有一个方块,更谈不上每隔1秒切换一次图标了,是不是还要在ON_PAINT里设置什么
解决方案1:

图片切换一般用双缓存技术,有点麻烦,还不如直接画 做一个工作指示灯,1秒闪烁一次,开始用按钮控件结果刷屏效果明显,现改为picture control问题是不能切换显示

解决方案2:

Center Image设置为TRUE
https://msdn.microsoft.com/zh-cn/library/vstudio/5w91yh47(v=vs.110).aspx
另外,不要在定时器里加载LoadIcon, SetIcon,这些可以放在OnInitDialog里面,定时器里直接Invalidate就可以了

解决方案3:

直接画 就好了 写个timer


以上介绍了“ 做一个工作指示灯,1秒闪烁一次,开始用按钮控件结果刷屏效果明显,现改为picture control问题是不能切换显示”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3622897.html

相关图片

相关文章