如题,我用SetBkColor可以改变背景色,但是头部标题栏的颜色不能改变,不知道怎么做?
第二:我用InsertString和InsertItem只能在第一栏添加内容,第二栏怎么添加内容?
1.需要重绘
2.m_list.SetItemText(0, 1, "11");//在第0行第1列写"11"
所有的行列都以0开始计数
得到clistctrl的header后,重绘
//得到listctrl的header
CMyHeaderCtrl* pHeader;
int nColumnNum = 4;
for(int i = 0; i < nColumnNum; ++i)
{
pHeader = (CMyHeaderCtrl*)m_list.GetDlgItem(i);
}
以下代码摘自msdn
// NOTE: CMyHeaderCtrl is a class derived from CHeaderCtrl.
// The CMyHeaderCtrl object was created as follows:
//
// CMyHeaderCtrl myHeader;
// myHeader.Create(WS_CHILD|WS_VISIBLE|HDS_HORZ,
// CRect(10, 10, 600, 50), pParentWnd, 1);
// This example implements the DrawItem method for a
// CHeaderCtrl-derived class that draws every item as a
// 3D button using the text color red.
void CMyHeaderCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
// This code only works with header controls.
ASSERT(lpDrawItemStruct->CtlType == ODT_HEADER);
HDITEM hdi;
TCHAR lpBuffer[256];
hdi.mask = HDI_TEXT;
hdi.pszText = lpBuffer;
hdi.cchTextMax = 256;
GetItem(lpDrawItemStruct->itemID, &hdi);
// Draw the button frame.
::DrawFrameControl(lpDrawItemStruct->hDC,
&lpDrawItemStruct->rcItem, DFC_BUTTON, DFCS_BUTTONPUSH);
// Draw the items text using the text color red.
COLORREF crOldColor = ::SetTextColor(lpDrawItemStruct->hDC,
RGB(255,0,0));
::DrawText(lpDrawItemStruct->hDC, lpBuffer, strlen(lpBuffer),
&lpDrawItemStruct->rcItem, DT_SINGLELINE|DT_VCENTER|DT_CENTER);
::SetTextColor(lpDrawItemStruct->hDC, crOldColor);
}