vc改变进度条颜色及去掉进度条边框
参考资料:http://blog.csdn.net/athemon/archive/2009/06/03/4238200.aspx
1、改变进度条颜色
SendMessage这个函数
代码如下:
m_Progress1.SendMessage(PBM_SETBKCOLOR, 0, RGB(0, 0, 255));//背景色为蓝色
m_Progress1.SendMessage(PBM_SETBARCOLOR, 0, RGB(255, 0, 0));//前景色为红色
函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);
参数:
hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。
Msg:指定被发送的消息。
wParam:指定附加的消息指定信息。
IParam:指定附加的消息指定信息。
返回值:返回值指定消息处理的结果,依赖于所发送的消息。
备注:需要用HWND_BROADCAST通信的应用程序应当使用函数RegisterWindowMessage来为应用程序间的通信取得一个唯一的消息。
2、去掉进度条边框
m_CtrlProgress是进度条的名称
m_CtrlProgress.ModifyStyleEx(WS_EX_STATICEDGE,0); //去掉进度条边框
m_CtrlProgress.Invalidate(false);


