I managed to change the color of the selected element based on the answer of Cyril V. Lyadvinsky.
CTreeCtrl, IDC_TEST_DEF_TREE.
OnNMCustomdraw . :
ON_NOTIFY(NM_CUSTOMDRAW, IDC_TEST_DEF_TREE, OnNMCustomdraw)
:
void CSelectTestDefinitionDlg::OnNMCustomdraw(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMLVCUSTOMDRAW lpLVCustomDraw = reinterpret_cast<LPNMLVCUSTOMDRAW>(pNMHDR);
switch (lpLVCustomDraw->nmcd.dwDrawStage)
{
case CDDS_ITEMPREPAINT:
case CDDS_SUBITEM:
if (lpLVCustomDraw->nmcd.uItemState & CDIS_SELECTED)
{
lpLVCustomDraw->clrText = RGB(255, 255, 255);
lpLVCustomDraw->clrTextBk = RGB(0, 70, 60);
}
break;
default:
break;
}
*pResult = 0;
*pResult |= CDRF_NOTIFYPOSTPAINT;
*pResult |= CDRF_NOTIFYITEMDRAW;
*pResult |= CDRF_NOTIFYSUBITEMDRAW;
}