编程中,经常要用到按钮控件,大部分情况下,文字按钮就OK了,但有时为了更好的效果,需要用到图形按钮。 在MFC中,应用CBitmapButton就可以实现图形按钮。CBitmapButton类继承自CButton类。你可以为图形按钮指定四张图片,分别对应按钮的四种不同状态: 正常显示(Up),鼠标按下(Down),获得焦点(Focused),不可用(Disabled)。 正常显示(Up)状态的图片是必须的,其他三张图片是可选的。 还有,按钮的Style必须指定为BS_OWNERDRAW.。 以下是利用CBitmapButton实现图形按钮的实例: 第一种方法: (一)在VC6下新建一对话框工程,在对话框界面上拉出一按钮控件 指定按钮的Style为Owner Draw,即程式中得BS_OWNERDRAW样式。 利用ClassWizard为按钮关联CButton类变量,然后将CButton类型手动改为CBitmapButton。 (二)导入指定按钮四种状态的图片 以下只导入了3张图片,分别对应Up,Down,Focused (三)在对话框的OnInitDialog函数中添加如下代码 LoadBitmaps加载状态图片,注意顺序为Up,Down,Focused,Disabled。 1 // TODO: Add extra initialization here 2 m_btnBitmap.LoadBitmaps(IDB_UP, IDB_DOWN, IDB_FOCUSED); //Disabled状态的图片没有制作 3 m_btnBitmap.SizeToContent(); //调整按钮大小为图片大小 第二种方法:利用SubclassDlgItem 在界面中拉出一按钮控件后,不用关联变量,指定按钮的Style为Owner Draw,然后同上一样导入四张状态图片。创建CBitmapButton对象(注意不要创建函数的局部变量,否则在函数执行完毕时就销毁了),最好创建为对话框的成员变量,在对话框的OnInitDialog初始化函数中用LoadBit