MFC给button设置背景。

来源:互联网 发布:软件测试瀑布模型 编辑:程序博客网 时间:2024/05/16 10:06

最近一直用Qt写一个项目、但是因为要音乐模块需要直接调用网页、但是网页是以前用media player 播放的、所以Qt的QWEBKIT是不能实现播放了。

所以使用QProcess调用外部MFC程序。

不过MFC的UI确实比Qt麻烦多了、各种google、baidu之后。找到一个相对简单的方法。

就是使用CMFCButton类、

首先从空间拖一个button、然后在资源里面添加一个BMP图片。

然后在OnInitDialog的else里面写代码。

CMFCButton * button = new CMFCButton; button->Create(_T(""),WS_VISIBLE, CRect(0, 0, 80, 50), this, IDC_BUTTON_TEST); 
这样在界面上会出现2个按钮、把你拖过来的那个按钮visible属性设置为false、就可以了(IDC_BUTTON_TEST就是你拖过来button的ID)

第一个属性为button的text.


这个CRect和Qt中QRect区别还挺大的。QRect的4个参数为左上角的坐标和巨型宽高---(x,y,width,height)

而CRect为左上角坐标和右下角坐标(lx,ly,rx,ry)


写完上面的代码、然后在加一句

button->setImage(IDB_BITMAP)
这里的IDB_BITMAP为你位图的ID。


这样貌似就好了、但是CMFCButton还有更多的方法、挺好用的、可以去看看MSDN。



注意:找来的资料说、这样做会内存泄露...  各位还是注意点用呗!