24431188:近日公司要写一个进度条,要求很简单,只需要:
一格一格的显示,每一格的颜色是绿色。相信大多的程序员都用过CProgressCtrl.进度条控件,其中有SetBkColor函数,但却没有SetBarColor这样的函数。这样我们的进度条总是蓝色的,如果我要把它改为绿色的怎么办?要重载OnPaint函数吗?答案是:不需要。
你只需要在使用进度条的时候发送一个消息就行了:
例如:
CTestDlg::OnInitDialog()
{
::SendMessage(m_Progress.GetSaftHwnd(), PBM_PBM_SETBARCOLOR, 0, (LPARAM) RGB(0,255,0));
}就可以了。今天看MFC的源码才想到这么做的,不知道前人有没有这么做过呢?
(发表于2006-4-20 21:41:00)
24431188:错了,是PBM_SETBARCOLOR才对,写多了一个PBM
(发表于2006-4-20 21:42:00)
..........................................................................
--------------------next---------------------
阅读(259) | 评论(0) | 转发(0) |