如何更改MFC按钮的背景色

如何更改MFC按钮的背景色,第1张

不能直接设置按钮颜色。你可以画一个相关颜色的图片然后载入。

1、在资源编辑的时候选中按钮的 Owner draw 属性,不需要选择 Bitmap 属性.

按钮右键-->Styles-->Owner draw

2、在程序中定义没巧裤一个CBitmapButton成员变量。

注意:不能使用ClassWizard为按钮映射一个CButton变量,然后改为CBitmapButton,

这么做并不能将按钮直接映射为CBitmapButton类的对象,反而会出现初枯简始化错误

3、使用CBitmapButton::LoadBitmaps装载各种状宽衫态的图片,

使用CBitmapButton::SubclassDlgItem关联到想要的按钮,

使用CBitmapButton::SizeToContent函数使按钮适合图片大小。

1.改变对话框的背景色

在C…App类中的InitInstance()里添加

SetDialogBkColor(RGB(0,192,0),RGB(0,0,0))

2.改变按钮颜色和样式你就仅仅用VC++6.0提供的函数做出来的不好看,建议你去网上下载一个VC按钮类CButtonST ,这个类提供了很多按钮样式,用起来也不难铅乎。下载了类之后将它包含到你的工程里面,在类定义哪里定义按钮类的对象例如:CButtonST m_ChainLength

CButtonST m_insert

CButtonST m_del

CButtonST m_search

CButtonST m_print

CButtonST m_close对象运搏定义好了之后就对你的按钮和该对象关联起来在DoDataExchange(CDataExchange* pDX)函数下关联如下: DDX_Control(pDX, IDC_CHAINLENGTH, m_ChainLength)

DDX_Control(pDX, IDC_INSERT, m_insert)

DDX_Control(pDX, IDC_DEL, m_del)

DDX_Control(pDX, IDC_SEARCH, m_search)

DDX_Control(pDX, IDC_PRINT, m_print)

DDX_Control(pDX, IDC_CLOSE, m_close)其中IDC_****代表的是你的按钮的ID,可以在那个按钮右键属性那可以见到关联好了之后就可以改旁激祥变按钮样式了在OnInitDialog()里面添加 m_insert.SetIcon(IDI_INSERT)//给按钮添加图标

m_insert.OffsetColor(CButtonST::BTNST_COLOR_BK_IN, shBtnColor)

m_insert.SetColor(CButtonST::BTNST_COLOR_BK_OUT, RGB(173,239,236))//鼠标离开时的颜色

m_insert.SetColor(CButtonST::BTNST_COLOR_BK_FOCUS, RGB(200,208,255))//获取焦点时的颜色

m_insert.SetTooltipText(_T("往链表里插入数值"))//鼠标在按钮上提示的文字

这是我做出来的界面,详细的请参考CButtonST 用法,相信你能做出很美观的按钮来


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11970896.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存