C 语言如何改变LISTBOX的颜色
用API在窗口上写了一个listbox可是那个listbox白白的,好难看,有谁知道用c语言如何改变它的颜色(非C++),谢谢!textbackground()好像是改变...
用API在窗口上写了一个listbox可是那个listbox白白的,好难看,有谁知道用c语言如何改变它的颜色(非C++),谢谢!
textbackground()好像是改变字体颜色的吧?我在网上搜索了一下nullai的回答,还是不太明白,可以说清楚点吗?谢谢! 展开
textbackground()好像是改变字体颜色的吧?我在网上搜索了一下nullai的回答,还是不太明白,可以说清楚点吗?谢谢! 展开
2个回答
展开全部
在列表框所在的对话框里处理WM_CTLCOLORLISTBOX消息,并返回一个有颜色的刷子(HBRUSH)。
//这是MFC下的
HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
static HBRUSH hbr=NULL;
if(hbr==NULL)
{
//创建红色刷子
hbr=CreateSolidBrush(RGB(255,0,0));
}
//如果是列表框
if(pWnd->GetDlgCtrlID()==IDC_LIST1)
{
pDC->SetBkMode(TRANSPARENT);
return hbr;
}
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
//不用MFC的话思路是也一样的。
//如果还不行直接找我!!
//这是MFC下的
HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
// HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
static HBRUSH hbr=NULL;
if(hbr==NULL)
{
//创建红色刷子
hbr=CreateSolidBrush(RGB(255,0,0));
}
//如果是列表框
if(pWnd->GetDlgCtrlID()==IDC_LIST1)
{
pDC->SetBkMode(TRANSPARENT);
return hbr;
}
return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
}
//不用MFC的话思路是也一样的。
//如果还不行直接找我!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询