怎么让ctreectrl的某一项不可选? 就是像那种灰化的效果,disable某一项,让他不能被selected 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我原来做的一个是三态树来实现这个功能的,也就是树要有checkbox。如果没有checkbox的话,那可能就要重绘了。 给项目状态state自定义一个属性,重载鼠标左键消息,在里面判断这个节点项目是否为禁止状态,然后设置是否选择这个节点。#define CUST_DISABLE (值你自已定义)void CMyTreeCtrl::OnMouseDown(UINT uFlags, CPoint point){ UINT nFlags; HTREEITEM hItem = HitTest(point, &nFlags); if((hItem != NULL) && nFlags & TVHT_ONITEM) { UINT nState = GetItemState(hItem, TVIF_STATE); if(nState & CUST_DISABLE) { // 不选择 } else { SelectItem(hItem); } } //CTreeCTrl::OnMouseDown(uFlags, point);} 对 不让他选中 现在有办法了 在SelectChanging的时候 返回1也可以不让他选中,但是怎么改变颜色还不太清楚唉 怎么用vc写一个校园网登陆软件? 库中怎么使用库外的宏定义? 请问一个关于CFile类的问题 VC下产生随机数的问题 下载工具的问题,送分了 用iwebbrowser::navigate()播资源里的GIF文件??? 如何找出程序里面最浪费时间的地方?给点建议吧? 高分虚心求教,线程问题!!! 各位大侠,快来帮帮我吧!在线等待! ====怎么设置工程的搜索路径?=== 如何即时的切换音频设备? CTreeCtrl插入结点问题
#define CUST_DISABLE (值你自已定义)void CMyTreeCtrl::OnMouseDown(UINT uFlags, CPoint point)
{
UINT nFlags;
HTREEITEM hItem = HitTest(point, &nFlags);
if((hItem != NULL) && nFlags & TVHT_ONITEM)
{
UINT nState = GetItemState(hItem, TVIF_STATE);
if(nState & CUST_DISABLE)
{
// 不选择
}
else
{
SelectItem(hItem);
}
}
//CTreeCTrl::OnMouseDown(uFlags, point);
}
在SelectChanging的时候 返回1也可以不让他选中,但是怎么改变颜色还不太清楚唉