问题描述
- MFC 进度条颜色怎么设置?
-
::SendMessage(m_progress.GetSafeHwnd(),PBM_SETBARCOLOR,0,RGB(255,0,255));
解决方案
最简单的是自己重绘。你的代码是老黄历,不适合xp以上启用了virtual style的情形。
解决方案二:
http://blog.163.com/wenxianliang08@126/blog/static/83583263201412710599488/
这篇博客应该可以帮到你
解决方案三:
1 建立基于对话框的应用程序,然后拖放一个进度条控件,并且关联CProgressCtrl类的变量m_Progress.
- 在 OnInitDialog() 函数里 定义一个定时器,以及设置进度条的一些参数,发送相关的消息
SetTimer(1,1000,NULL);
m_Progress.MoveWindow(100,10,20,200);
m_Progress.SetRange(1,100);
m_Progress.SetStep(5);
m_Progress.SetPos(0);
m_Progress.SendMessage(PBM_SETBKCOLOR, 0, RGB(0, 0, 0));//背景色
m_Progress.SendMessage(PBM_SETBARCOLOR, 0, RGB(0, 255, 0));//前景色
- 添加定时器 WM_TIMER 消息响应函数
void CMyProgressDlg::OnTimer(UINT nIDEvent)
{// m_Progress.StepIt();
int nPos=rand()%100; //根据随机数值 动态改变进度条的数值
m_Progress.SetPos(nPos);
CString str;
str.Format("%d",nPos);
SetDlgItemText(IDC_STATIC,str);
CDialog::OnTimer(nIDEvent);
}
瞧,是不是很简单呢,实现效果如下 背景颜色为黑色 前景颜色为绿色
MFC 如何改变进度条的颜色 - 阿浪 - 温先良--桂林理工大学
在项目过程中,需要实现根据 麦克风的接收的音量来动态调节 进度条的状态,这几天就要实现这个功能了。
解决方案四:
PBM_SETBKCOLOR和PBM_SETBARCOLOR消息分别设置背景色和前景色。