步骤/方法
然后修改按钮的ID为:IDC_ForShow;按钮的Disabled属性改为True 在对话框的头文件里面定义变量:CBitmapButton m_ctrlButton; 然后重写OnInitDialog() 头一句为CDialog::OnInitDialog(); 接下来按照提示进行代码添加: m_ctrlButton.SubclassDlgItem(IDC_ForShow, this); m_ctrlButton.ModifyStyle(0,BS_OWNERDRAW); m_ctrlButton.LoadBitmaps(IDB_STOP);
其中,IDB_STOP是导入的bmp图片的ID号,这个bmp图片实际上是我在PPT里面做的,它的画图功能还是挺强大的,恩。
可是还有两个问题: 1. 画出来的图片很可能与按钮的尺寸不符。解决方法:一方面保证图片的尺寸和按钮尽量相符,同时拖拽控制按钮的大小进行配合;另一方面也可以利用函数修改控件尺寸,但是我写入代码之后发现控件的尺寸改变不了,不知道哪个属性应该先修改一下才能调节 2. 按下相关按钮之后图片如何改变。解决方法:按理来说,写上m_ctrlButton.LoadBitmaps(图片ID);就可以了,可是这样做之后,发现按键了没反应。无意中将对话框最小化再还原,发现图片变了。所以实际上是没有进行刷心导致的。在后面加上m_ctrlButton.Invalidate()就可以了
重申,这就是个山寨的法子,如果有老师同学知道更简单更实用的办法不要吝啬啊,拿出来分享一下吧