求代码!!树节点加背景,谢谢 我想在树中,点击任一节点时,该节点的背景(树中该节点所在的那一行)改变颜色,但是我不会重绘,请大家给点示例代码,谢谢,我从网上搜索了,没有找到。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://read.pudn.com/downloads19/sourcecode/windows/control/66601/%E6%94%B9%E5%8F%98%E6%A0%91%E6%8E%A7%E4%BB%B6%E8%83%8C%E6%99%AF%E9%A2%9C%E8%89%B2%E7%9A%84VC%E6%BA%90%E4%BB%A3%E7%A0%81/animctrl.cpp__.htm看看这个 HBRUSH CDdddDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(tree.m_hWnd==pWnd->m_hWnd) { return CreateSolidBrush(RGB(123,0,0)); } // TODO: Return a different brush if the default is not desired return hbr; } http://www.vckbase.com/document/viewdoc/?id=355 BOOL CMainFrame::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult){ LPNMHDR pNmhdr = (LPNMHDR)lParam; switch (pNmhdr->code) { case NM_CUSTOMDRAW: { LPNMTVCUSTOMDRAW pCustomDraw = (LPNMTVCUSTOMDRAW)lParam; switch (pCustomDraw->nmcd.dwDrawStage) { case CDDS_PREPAINT: // Need to process this case and set pResult to CDRF_NOTIFYITEMDRAW, // otherwise parent will never receive CDDS_ITEMPREPAINT notification. (GGH) *pResult = CDRF_NOTIFYITEMDRAW; return true; case CDDS_ITEMPREPAINT: switch (pCustomDraw->iLevel) { // painting all 0-level items blue, // and all 1-level items red (GGH) case 0: if (pCustomDraw->nmcd.uItemState == (CDIS_FOCUS | CDIS_SELECTED)) // selected pCustomDraw->clrText = RGB(255, 255, 255); else pCustomDraw->clrText = RGB(0, 0, 255); break; case 1: if (pCustomDraw->nmcd.uItemState == (CDIS_FOCUS | CDIS_SELECTED)) // selected pCustomDraw->clrText = RGB(255, 255, 255); else pCustomDraw->clrText = RGB(255, 0, 0); break; } *pResult = CDRF_SKIPDEFAULT; return false; } } break; } return CFrameWnd::OnNotify(wParam, lParam, pResult);} 一个简单的图形处理应用 MFC 操作EXCEl 循环给每一列的每一项赋值,如果项很多,就出现异常 在线等待,帮忙解决个窗体小问题~~ 我的CSocket聊天室只执行一次OnAccept,而OnReceive一次都不执行,请大家帮我看看 WIN2000上没有ODBC,我怎么用数据库啊 怎样判断一个程序已经启动 讨论MAC地址的改变 怎样把另外一个程序的界面嵌入到自己的对话框里面? 谁能告诉我这是个什么错误???10分相送 十万火急:如何利用MODEM实现两台计算机之间传输数据! 求c++写个设计模式中的工厂模式 想问一下祌经网络BP算法y=x1+x2的样本怎么准备啊,还有VC动态画直线
看看这个
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if(tree.m_hWnd==pWnd->m_hWnd)
{
return CreateSolidBrush(RGB(123,0,0));
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
BOOL CMainFrame::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
LPNMHDR pNmhdr = (LPNMHDR)lParam; switch (pNmhdr->code)
{
case NM_CUSTOMDRAW:
{
LPNMTVCUSTOMDRAW pCustomDraw = (LPNMTVCUSTOMDRAW)lParam;
switch (pCustomDraw->nmcd.dwDrawStage)
{
case CDDS_PREPAINT:
// Need to process this case and set pResult to CDRF_NOTIFYITEMDRAW,
// otherwise parent will never receive CDDS_ITEMPREPAINT notification. (GGH)
*pResult = CDRF_NOTIFYITEMDRAW;
return true; case CDDS_ITEMPREPAINT:
switch (pCustomDraw->iLevel)
{
// painting all 0-level items blue,
// and all 1-level items red (GGH)
case 0:
if (pCustomDraw->nmcd.uItemState == (CDIS_FOCUS | CDIS_SELECTED)) // selected
pCustomDraw->clrText = RGB(255, 255, 255);
else
pCustomDraw->clrText = RGB(0, 0, 255);
break;
case 1:
if (pCustomDraw->nmcd.uItemState == (CDIS_FOCUS | CDIS_SELECTED)) // selected
pCustomDraw->clrText = RGB(255, 255, 255);
else
pCustomDraw->clrText = RGB(255, 0, 0);
break;
} *pResult = CDRF_SKIPDEFAULT;
return false; }
}
break;
}
return CFrameWnd::OnNotify(wParam, lParam, pResult);
}