如何改变static的背景色
我想做一个界面,类似于ppt上的几个条目:
前言
征文
结束语
它们分三行放置,然后当鼠标在某一项的上面,它的背景色就要变,如果不在,就恢复成原来的背景色,我想用3个static text控件来实现,不知道是否有问题?
然后改变背景色的代码请问该如何写?谢谢
[解决办法]
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(pWnd-> GetDlgCtrlID()==IDC_STATIC)
pDC-> SetBkColor(RGB( 0, 255, 0));
// pDC-> SetTextColor( RGB( 255, 0, 0) );
// TODO: Return a different brush if the default is not desired
return hbr;
}
[解决办法]
重新派生一个子类
[解决办法]
从CStatic派生 加上SS_NOTIFY属性 让static可以接收消息
响应mousemove消息 invalidaterect 重绘窗口
[解决办法]
sanvl说得对
顶