读书人

怎么改变static的背景色

发布时间: 2012-02-22 19:36:54 作者: rapoo

如何改变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说得对

读书人网 >VC/MFC

热点推荐