关于CTreeCtrl的问题, m_TreeCtrl的消息TVN_ITEMEXPANDING对应一个函数OnItemexpandingTree()我用Expand函数把它由“根”收缩、展开时,不调用OnItemexpandingTree()如何比较简单的让它调用OnItemexpandingTree呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好象也调用吧。你看看你的OnItemexpandingTree是不是有一句NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;if(pNMTreeView->itemNew.state & TVIS_EXPANDEDONCE){ return;//如果已经展开过了,返回} 我试了一下,可以调用OnItemexpandingTree()函数啊 会调用吗?但是我点“+”触发消息,调用OnItemexpandingTree时,会重新生成子项。但是用Expand()就不可以了OnItemexpandingTree里面有: if (pNMTreeView->action != TVE_EXPAND) { // is not expand branch return; }我再看看 不调用呀我在OnItemexpandingTree()第一句加了个 MessageBox("expanding");直接点“+”会弹出来,用Expand()就不会 to: afc(afc)CTreeCtrl第一次展开时会调用OnItemexpandingTree(),但是以后就不会调用了但我就想每次调Expand()都会调用OnItemexpandingTree()请大家帮帮忙 TreeCtrl的设置问题,这段代码是我测试过可以发送TVN_ITEMEXPENED消息的 CTreeCtrl& treeCtrl = GetTreeCtrl(); HTREEITEM hItem = treeCtrl.GetRootItem(); // 测试Root节点 // 清除Expand Once标志 TVITEM treeItem; treeItem.hItem = hItem; treeItem.mask = TVIF_STATE; treeCtrl.GetItem(&treeItem); treeItem.state &= ~(TVIS_EXPANDEDONCE); treeCtrl.SetItem(&treeItem); // 展开Item treeCtrl.Expand(hItem, TVE_EXPAND); to:afc(afc)非常感谢!!但是 treeCtrl.Expand(hItem, TVE_COLLAPSE);为什么不能收缩呢? 说错了是:treeCtrl.Expand(hItem, TVE_COLLAPSE)时不能发送TVN_ITEMEXPENED消息我试了好多方法,TVE_EXPAND展开时可以,TVE_COLLAPSE收缩就不行 afc(afc)的方法确实不错。但正如上面所说,怎么实现treeCtrl.Expand(hItem, TVE_COLLAPSE)时发送TVN_ITEMEXPENED消息呢? socket编程怎么进行NAT穿透? status bar 的一个小问题 谁知道.wab和.csv的文件格式? 很久没来了,过来散分!!!顺便问个小问题。怎样判断自己侦听的端口已经被别的软件占用??? 这段程序用vc 怎么写 请问怎样限制OpenURL()网络连接的时间? 哪里可以找到CBarCodeCtrl的帮助文件? 请教摄像的问题 MFC 讨论学API的用途 请教一个关于CImageList类的问题 UDP Server编程大讨论!有兴趣者进来讨论!@
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;if(pNMTreeView->itemNew.state & TVIS_EXPANDEDONCE)
{
return;//如果已经展开过了,返回
}
if (pNMTreeView->action != TVE_EXPAND) { // is not expand branch
return;
}
我再看看
我在OnItemexpandingTree()第一句加了个 MessageBox("expanding");直接点“+”会弹出来,用Expand()就不会
CTreeCtrl第一次展开时会调用OnItemexpandingTree(),但是以后就不会调用了但我就想每次调Expand()都会调用OnItemexpandingTree()请大家帮帮忙
TVITEM treeItem;
treeItem.hItem = hItem;
treeItem.mask = TVIF_STATE;
treeCtrl.GetItem(&treeItem);
treeItem.state &= ~(TVIS_EXPANDEDONCE);
treeCtrl.SetItem(&treeItem);
// 展开Item
treeCtrl.Expand(hItem, TVE_EXPAND);
为什么不能收缩呢?
是:
treeCtrl.Expand(hItem, TVE_COLLAPSE)时不能发送TVN_ITEMEXPENED消息我试了好多方法,TVE_EXPAND展开时可以,TVE_COLLAPSE收缩就不行