社区
VCL组件使用和开发
帖子详情
如何让TreeNode有CheckBox的效果?
rbws
2004-06-24 01:34:50
在每个TreeNode左边有一个check框,怎样做?
3X
...全文
182
11
打赏
收藏
如何让TreeNode有CheckBox的效果?
在每个TreeNode左边有一个check框,怎样做? 3X
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
GaoLun
2004-06-25
打赏
举报
回复
好象是我先说错话了,
Sorry 先,呵呵,
呵呵, 好想回西安啊,呵呵,我才工作一年,
5 年前离开西安读书的, 呵呵,
先给clockwise3(Max) 道歉,
可能是我说话太....不注意了!
^_^
COpyFRee
2004-06-25
打赏
举报
回复
代码是谁的并不重要,掌握这种思想才是关键!
楼上的兄弟们,大家是来讨论技术的,何必争议这些呢?
GaoLun
2004-06-25
打赏
举报
回复
我是西安的, 可是我不是 西工大
而且我是西安的事情也是 5 年前的事情了
clockwise3
2004-06-25
打赏
举报
回复
废话,项目从99年就开始了
GaoLun
2004-06-25
打赏
举报
回复
clockwise3 晕倒,
这是你们公司开发的代码,
那我看你们公司还是算了吧,
我收集这个代码都两年多了!
你们是火星人吧
stonewater
2004-06-24
打赏
举报
回复
好啊
clockwise3
2004-06-24
打赏
举报
回复
GaoLun收藏谁的?这是我们公司的正在开发的代码,不要说我认识你哟。西工大毕业的?
COpyFRee
2004-06-24
打赏
举报
回复
: songhtao(三十年孤独) - 有点儿太夸张了!取 Caption 时还要分割!
: GaoLun(★米老鼠★) - 没试,看起来还行!
GaoLun
2004-06-24
打赏
举报
回复
提前声明 收藏别人的
GaoLun
2004-06-24
打赏
举报
回复
void __fastcall TForm1::FormCreate(TObject *Sender)
{
SetWindowLong(TreeView1->Handle,GWL_STYLE,
GetWindowLong(TreeView1->Handle,GWL_STYLE) | TVS_CHECKBOXES);
}
//判断一个节点是否处于Checked状态
bool GetNodeChecked(TTreeNode *ANode)
{
TVITEM tvItem;
tvItem.mask = TVIF_HANDLE | TVIF_STATE;
tvItem.hItem = ANode->ItemId;
tvItem.stateMask = TVIS_STATEIMAGEMASK;
TreeView_GetItem(ANode->TreeView->Handle, &tvItem);
return ((BOOL)(tvItem.state >> 12) -1);
}
//设置一个节点为Checked状态或者Unchecked状态,由参数IsSetToChecked来确定
void SetNodeChecked(TTreeNode *ANode,bool IsSetToChecked)
{
TVITEM tvItem;
tvItem.mask = TVIF_HANDLE | TVIF_STATE;
tvItem.hItem = ANode->ItemId;
tvItem.stateMask = TVIS_STATEIMAGEMASK;
tvItem.state = INDEXTOSTATEIMAGEMASK(IsSetToChecked?2:1);
TreeView_SetItem(ANode->TreeView->Handle, &tvItem);
}
void SetChildChecked(TTreeNode *ANode,bool yn)
{ // 把它的子孙都置成一样
int count=ANode->Count;
SetNodeChecked(ANode,yn);
if (count!=0)
for (int i=0;i<count;i++)
SetChildChecked(ANode->Item[i],yn);
}
TTreeNode *ClickNode; // 保存点中的节点
bool NodeChecked; // 保存点中的节点checked
void __fastcall TForm1::TreeView1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y)
{
ClickNode=TreeView1->GetNodeAt(X,Y);
if (ClickNode!=NULL) // 保存原节点的Checked值
NodeChecked=GetNodeChecked(ClickNode);
}
void __fastcall TForm1::TreeView1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (ClickNode!=NULL)
if (GetNodeChecked(ClickNode)!=NodeChecked)
{ // 把它的子孙都置成一样
NodeChecked=!NodeChecked; // 更新它
SetChildChecked(ClickNode,NodeChecked);
}
}
你先建手工一个TreeView1的若干节点,用上面的程序一看,
象不象,
我不懂电脑
2004-06-24
打赏
举报
回复
最简单的方法在TreeNode的文本中第一个字符用word插入□选中后改为√模拟:)
EXT
checkbox
的 check 事件
EXTjs2 的
treeNode
带有
checkbox
,可是API中,关于
checkbox
的事件就只有一个checkchange事件,所以写个方法传上来。
js获取Treeview选中的节点(C#选中
CheckBox
项)
方法网上有很多,试了一下都有瑕疵。... 代码如下:
TreeNode
newNode = new
TreeNode
(); newNode.Text = “showText”; newNode.Value =id; newNode.NavigateUrl = id; // 可用来在javascript中获取需要的va
asp.net treeview
checkbox
相关问题
TreeNode
nodes = new
TreeNode
(); nodes.Text = “两岸咖啡”; nodes.Value = “0”; if (dt.Rows.Count >= 1) { dv.RowFilter = “fParentId=””; if (dv.Count >= 1) { foreach (DataRowView drrow in dv) { ...
JSP_struts2标签大全
JSP_struts2标签大全 1.a 3 2.action 3 3. actionerror 4 4. actionmessage 5 5. append 5 6. bean 7 7.
checkbox
7 8.
checkbox
list 8 9. combobox 9 ...48.
treenode
41 49. updownselect 42 50. url 44
JQuery_z_tree
◦2)、对于每级节点最多一百左右,但总节点数几千甚至几万,且不是全部展开的数据,一次性加载的
效果
最明显,速度非常快。 ◦3)、对于某一级节点数就多达几千的情况 延迟加载无效,这种情况建议考虑分页异步加载。 ...
VCL组件使用和开发
604
社区成员
13,460
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章