社区
C++ Builder
帖子详情
谁知道Treeview 的checkbox ,选中 事件 是哪一个?
SuperSuperLéon
2003-10-20 10:39:54
谁知道Treeview 的checkbox ,选中 事件 是哪一个?
我的目的是,
在ttreeview 中,打开 checkbox :使得ttreeview 具有单选框。
我想处理这个 checkbox 的 选中事件。但不知道事件是哪一个?
对应的,取消选中的事件 偶也不知道。
麻烦大家了。
thanks.
...全文
233
5
打赏
收藏
谁知道Treeview 的checkbox ,选中 事件 是哪一个?
谁知道Treeview 的checkbox ,选中 事件 是哪一个? 我的目的是, 在ttreeview 中,打开 checkbox :使得ttreeview 具有单选框。 我想处理这个 checkbox 的 选中事件。但不知道事件是哪一个? 对应的,取消选中的事件 偶也不知道。 麻烦大家了。 thanks.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sprewellkobe
2003-10-21
打赏
举报
回复
Click事件中,找select
sczyq
2003-10-21
打赏
举报
回复
事件:OnMouseDown
// 选项框图片的大小为16x16, 只有点中选项框才有效,否则无效,若配合Data,则TreeView内任意节点可设置有无选项框。
#define IMAGE_NOSELECTED
#define IMAGE_SELECTED
//---------------------------------------------------------------------------
void __fastcall TForm1::TreeView1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TTreeNode *Node = TreeView1->Selected;
if (Button != mbLeft || Node == NULL || Node->Level==0) return;
TRect Rect = Node->DisplayRect(true);
if (X>Rect.Left-33 && X<Rect.Left-17 && Y>Rect.Top && Y<Rect.Bottom)
{
if (Node->StateIndex == IMAGE_NOSELECTED)
{
Node->StateIndex = IMAGE_SELECTED;
// 这里编写选中的处理代码
}
else
{
Node->StateIndex = IMAGE_NOSELECTED;
// 这里编写取消的处理代码
}
// 这里编写公共的处理代码
}
}
//---------------------------------------------------------------------------
ccrun.com
2003-10-21
打赏
举报
回复
文档标题:创建一个带有CheckBox的TreeView
关键字: TreeView,CheckBox,TVS_CHECKBOXES,Node
作者: BCB 阅读:1217 加入时间:2003-8-21 本文来自http://www.ccrun.com
--------------------------------------------------------------------------------
本文转自csdn,原作: BCB(天下三分明月夜,二分无赖是扬州)
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);
}
}
pepsi1980
2003-10-21
打赏
举报
回复
收藏先...
freshman2003
2003-10-20
打赏
举报
回复
TreeView的OnChange事件中判断Sender。
asp.net
Treeview
CheckBox
选中
asp.net 带复选框的
TreeView
控件
CheckBox
无刷新
选中
子节点
jQuery的高性能
TreeView
源码(带
CheckBox
)
jQuery的高性能
TreeView
源码(带
CheckBox
) 1:支持静态的树,即一次性将全部数据加载到客户端。 2:异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据。 3:
Checkbox
树(可能是静态树也可能是异步树),用于选择(如选择组织机构,选择数据字典项)等,最好是能够支持节点级联(这个是难点) 4:能够承载大数据量,并性能表现优异 5:能够在主流浏览器中运行良好
Java学习指南19 JavaFX入门
一、课程简介这是『Java学习指南系列』的第19篇教程 ,是Java开发的高级课程,介绍JavaFX的入门技术。JavaFX教程分为2篇:JavaFX入门篇 , JavaFX高级篇。二、主要内容 本篇介绍JavaFX的基本技术,至少包括以下方法:* 基本控件的使用 Label Button ImageView等* 基本布局的使用 BorderPane, HBox, VBox等* 常用形状的使用 Shape*
事件
处理的基本方法* ListView,
TreeView
, TableView, TreeTableView的基本用法* JavaFX CSS样式的用法* FXML界面和业务分离的用法等。* 以全局实例管理为例,演示一般性的框架设计方法三、课程体系〖Java学习指南系列〗:包含入门与进阶语法,Swing桌面开发,安卓开发,JavaFX开发,网络通信Socket,数据结构与算法等课程。〖网站开发系列〗:包含网页基础、网站入门、数据库、网站中级、FreeMarker、网站高级、项目应用、MyBatis、Redis等课程。
C#
TreeView
Checkbox
部分
选中
状态,点击节点
选中
状态不会改变
实现
Treeview
Checkbox
的三种状态,分别是:
选中
、没有
选中
、部分
选中
。之前有人写了一部分实现
Treeview
Checkbox
第三种状态的代码,但是在点击节点前的“+”或者“-”的时候,也会改变这个节点及其子节点的
选中
状态。这里主要针对这个问题进行了修改。 编译环境:vs2012
Treeview
中
checkbox
选择问题
Treeview
中的
Checkbox
选择问题,就是选择子节点中的任何
一个
,父节点都会被
选中
;取消父节点
Checkbox
,所有子节点被取消....
C++ Builder
13,824
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章