私は正常にカスタムOnCustomDraw()ハンドラの舞台を描き、そして選択した項目が描かれた後CDRF_SKIPDEFAULTを返すCDDS_ITEMPREPAINTで選択した項目を描画するコードを書かれている:
int subitemCount = GetHeaderCtrl().GetItemCount();
CRect itemRect;
for (int i = 0; i < subitemCount; i++) // Draw individual subitem
{
if (i == 0)
{
// My own function
// calculate correct rect for first(index=0) subitem
CalculateItemRect(nIndex, itemRect);
}
else if (!GetSubItemRect(nIndex, i, LVIR_BOUNDS, itemRect))
{
return;
}
// Adjust text rect to avoid overlapping with vertical grid line
itemRect.left += 6;
dc.DrawText(GetItemText(nIndex, i), itemRect, DT_LEFT | DT_NOCLIP | DT_VCENTER | DT_SINGLELINE | DT_END_ELLIPSIS);
}
このコードは、これまでのところ良い作品。どんな改善提案も大歓迎です。