VC 按键控件实现指示灯效果

      1. 首先添加按钮控件,将属性Owner Draw设为True,按钮ID: IDC_BUTTON1
      2. 添加位图资源ID: IDB_BITMAP_CLOSE    IDB_BITMAP_RED
      3. 在对话框类中添加private成员变量: CBitmapButton m_button;    bool LedFlag;
      4. 在初始化函数OnInitDialog里添加图片加载:
      5. 使用CBitmapButton::LoadBitmaps装载各种状态的图片,再用SubclassDlgItem关联到想要的按钮,使用
        CBitmapButton::SizeToContent函数使按钮适合图片大小。注意Loadbitmaps一定要在关联到按钮之前进行!
      6. 为按钮控件添加单击事件处理函数,输入如下代码:
      7. 按理来说,写上m_ctrlButton.LoadBitmaps(图片ID);就可以了,可是这样做之后,发现按键了没反应。无意中将对话框最小化再还原,发现图片变了。所以实际上是没有进行刷新导致的。在后面加上m_button.Invalidate()就可以了。
      8. 运行程序
      9. 单击控件变成红色

时间: 2024-10-25 23:17:11

VC 按键控件实现指示灯效果的相关文章

【Android UI】案例04配置控件点击效果(selector)

本例采用XML(selector),配置控件点击效果的实现,即当控件被触发或点击获取到焦点时,出现样式上的改变,以便给以较好的用户体验与操作感.本例需要引入的核心知识点的selector.xml.请参考学习:http://blog.csdn.net/mahoking/article/details/23690857.本例用于演示点击效果的控件为TextView.Button. [转载使用,请注明出处:http://blog.csdn.net/mahoking] 首先需要配置selector.xm

VC单选按钮控件(Radio Button)用法

先为对话框加上2个radio button,分别是Radio1和Radio2. 问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,“默认”只要放在OnInitDialog()即可.三种方法可以让它选上, 第一种:((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(FALSE);//不选上((CButton

Winform控件的水印效果制作

在我们的项目中,为控件绘制水印效果是十分常见的事情,下面我就来说说水印效果的制作方式.其实在绝大多数情况下只有下拉框和输入框多会使用水印,比如我们看到的新浪邮箱,(如:图1).下面是输入框水印效果的代码实现:using System.Drawing;using System.Windows.Forms;namespace TextBoxWithWaterkmarkExample{ /// <summary> /// 带水印效果的TextBox /// </summary>    p

C#中实现控件拖拽效果(How to DragDrop Control in C#)

当产品间需要交互实现数据传递,或产品需要从外部导入文件时,通过控件拖拽来实现是个不错的选择.在UI上支持控件拖拽,可极大提升用户体验.拖拽本身并不神秘,它的本质实际是一个数据交换的过程.控件接受从其他地方来的数据,并进行处理.数据交换有多种方法,Windows中剪贴板可能就是用的最多,但最不被注意的一种方法.下面介绍用C#实现控件拖拽,并通过剪切板交换数据. 对于拖拽的对象,需要在MouseDown或ItemDrag中调用DoDragDrop,传递要拖拽的数据对象并触发拖拽.总的来说,当用户调用

iOS开发不借助第三方控件实现侧边栏效果

最近在研究iOS程序的侧边栏,因为发现渐渐的iOS的程序也开始走侧边栏的风格了,QQ,今日头条,Path(Path算最早出现侧边栏的app了,所以也把侧边栏效果说成是Path效果),所以就研究了下. 然后发现Git Hub上有很多侧边栏的控件,这些控件效果也都挺玄的,但是我想找到不用第三方控件自己实现侧边栏呢?后来参照这篇blog,然后自己搞了下,算搞清楚了.下面详细介绍一下吧. 1. 首先我们需要在storyboard里面新建3个view controlle,这里也可以是navigation

VC绘制控件如何防止闪烁

理论上不管什么控件都适用,方法如下: 新建一个MFC类,继承原来的控件类型,对于VC自动生成的类进行如下改动: 首先覆盖 OnEraseBkgnd() 防止擦除时填涂背景: BOOL CXXXCtrl::OnEraseBkgnd(CDC* pDC){    return TRUE;} 然后覆盖 OnPaint(),原理是先在内存DC中绘图,之后再一股脑将画出的东东填涂到窗体上. 代码 void CXXXCtrl::OnPaint(){    CPaintDC dc(this);    // TO

iOS 控件点击效果 手势效果 UITapGestureRecognizer用法

在需要给图片,图标等控件添加 点击效果,手势效果的UITapGestureRecognizer用法 直接看代码示例: - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UIImageView *imgView =[[UIImageView alloc] initWithFrame:CGRectMake(0, 0,32

VC++图片控件(Picture Control)显示资源位图(BMP)、文件位图(BMP)、其它格式文件图片(JPG\PNG\BMP)的方法

在VC++ MFC编程中,我们常使用Picture Control图片控件来显示图像.下面简单归纳几种显示不同的方式: (实例可在我的CSDN资源中下载:http://download.csdn.net/detail/margin1988/8341525) 第一种.资源位图方式显示BMP图片 如果要显示的是一张BMP位图,则可以采用资源位图方式,具体步骤如下: (1)将BMP文件拷贝到工程的res目录下: (2)在对话框中添加一个Picture Control控件,例如:ID为IDC_STATI

Android ScrollView向上滑动控件顶部悬浮效果实现

本文参考了:<上滑停靠顶端的悬浮框>的代码,在此表示感谢.[上滑停靠顶端的悬浮框]里的实现方法是使用两个控件,滑动时,监听ScrollView的滚动Y值,从而通过对两个控件的显示隐藏来实现控件的顶部悬浮.但是实际应用场景中,有可能需要悬浮的控件里面的内容是比较多的,如果通过显示隐藏的方式来实现的话,操作控件里的内容时,需要重复定义两套变量,对控件里的内容进行修改时也是要操作再次,非常麻烦. 本文的方法是通过addView和removeView来实现的. 一.首先让ScrollView实现滚动监