Delphi:取消选择树视图中的选定项目

2023-12-25

有一个树视图,MultiSelect:=true.

如果选择所有项目,则无法取消选择或再次选择,但其他项目除外。我想我需要做TreeView1.Selected.Selected:=false; on TForm1.TreeView1Click。但如何知道点击是否不是在控件上:项目、按钮?

一段录像:http://liga-installer.realservers.info/select.mp4 http://liga-installer.realservers.info/select.mp4

代码低于正常值吗?

procedure TForm1.TreeView1Click(Sender: TObject);
var
Item: TTreeNode;
 begin

  Item :=TTreeView(Sender).GetNodeAt(TTreeView(Sender).ScreenToClient(Mouse.CursorPos).X,
  TTreeView(Sender).ScreenToClient(Mouse.CursorPos).y);

  if (not Assigned(Item)) and (TTreeView(Sender).SelectionCount>0) then TTreeView(Sender).Select(nil, []);
 end;

Thanks!


您应该在单击第一个选定项目的同时按住 Shift 键。您还可以通过按住 Ctrl 键单击一项来一次取消选择一项。

但我同意这是违反直觉的。我会做

procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  i: Integer;
begin
  if not Assigned(TreeView1.GetNodeAt(X, Y)) then
    for i := 0 to TreeView1.Items.Count - 1 do
      TreeView1.Items[i].Selected := false;
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Delphi:取消选择树视图中的选定项目 的相关文章

随机推荐

  • 正则表达式仅匹配一个句子

    PHP中有没有一种正则表达式可以只匹配一个句子 例如以大写字母开头并以大写字母结尾的句子 or preg match regex here g string matches 有时会使用缩写 因此如果后面跟有 2 个字符或更少的单词 则不得结
  • Python Django getattr():属性名称必须是字符串

    我正在使用 python Django 并收到以下错误 getattr attribute name must be string location val getattr obj field if field in headers if
  • 如何阻止 FullRowSelect 同时选择列标题

    我查看了有关 DataGridView SelectionMode 的其他帖子 但没有发现任何人有同样的问题 仅发生在 NET 4 7 2 当我选择一行时 我单击的列的标题也会被选中 如下所示 将以下两行代码添加到您的构造函数中 第一行也可
  • Vuejs 点击复选框事件?

    我在复选框上有一个 v 模型 其值是从循环分配的 我希望单击事件调用一个函数 我需要在其中访问已选中的数据 当单击被触发时 如果我记录状态 它不会打印复选框的当前单击数据 它打印先前单击的复选框数据 是否必须在函数中传递事件并访问数据 di
  • 如何使用adb命令打开和关闭屏幕? [复制]

    这个问题在这里已经有答案了 我正在使用 KEYCODE POWER 来打开和关闭已 root 的手机 以下命令用于打开和关闭屏幕两种情况 adb shell input keyevent KEYCODE POWER 但是 我想在不同的情况下
  • 当默认电子邮件被覆盖时,Djoser 不发送电子邮件

    我有一个使用 Djoser 进行身份验证的 DRF 项目 该计划是覆盖 Djoser 的默认激活电子邮件并发送 HTML 模板电子邮件 这是我所拥有的 settings py DJOSER SEND ACTIVATION EMAIL Tru
  • Jquery无法从每个函数中获取值

    我正在使用其中带有输入字段的表格 我试图从具有相同类的输入字段集中获取值 并与具有不同类名的每个相邻输入进行比较 我可以看到输入中的值 但 jquery 返回的值是空的 subtotal each function var price th
  • .NET 抽象类

    我正在设计一个网站导航层次结构 它是一棵节点树 大多数节点是页面 有些节点是链接 想想 Windows 中的快捷方式 大多数页面都包含 HTML 内容 一些执行代码 我想将它们表示为类和抽象 MustInherit 类的集合 这是我将存储所
  • JavaScript 中的业务逻辑。胖客户端与瘦客户端

    用 JavaScript 在客户端实现业务逻辑是个好主意吗 应该有什么样的逻辑 验证逻辑 与 GUI 有关吗 如果相同的逻辑想要在另一个应用程序 公开的 中使用 并用 JavaScript 实现它 那么您会做什么 这意味着您无法重用该逻辑
  • Google 日历推送通知:未经授权的 webhook 调用

    目前我们正在开发一款处理谷歌日历的 iPhone 应用程序 需要将日历事件同步到服务器端 一切正常 但对于推送通知 我们正在关注这个流程 https developers google com google apps calendar v3
  • 在Python中,什么时候应该使用函数而不是方法?

    Python 的禅宗指出 做事情应该只有一种方法 但我经常遇到决定何时使用函数和何时使用方法的问题 让我们举一个简单的例子 ChessBoard 对象 假设我们需要某种方法来获得棋盘上所有合法的国王走法 我们写 ChessBoard get
  • 通过控制台使用文件流写入字节输出进度时出现内存不足异常

    我有以下代码 在写入大文件时抛出内存不足异常 我有什么遗漏的吗 我不确定为什么它会抛出内存不足错误 因为我认为文件流最多只能使用 4096 字节作为缓冲区 老实说 我不完全确定缓冲区意味着什么 任何建议将不胜感激 public static
  • Erlang 是集群计算世界的 C 语言吗?

    Erlang 似乎在网络上的级别和性能都很低 但没有非常丰富的类型系统或其他函数式语言提供的许多东西 所以在我看来它将成为集群编程的最低级别开发语言 直到出现其他东西并提 供像样的集群虚拟机和高级构造 对此有什么想法吗 C是集群计算的C 至
  • Flex/Actionscript 白色至透明

    我正在尝试使用动作脚本在我的 Flex 3 应用程序中编写一些内容 它将拍摄图像 当用户单击按钮时 它将去除所有白色 ish 像素并将它们转换为透明 我说白色 ish 是因为我尝试过纯白色 但边缘有很多伪影 使用以下代码我已经有点接近了 t
  • 如何将 HTML 页面滚动到给定的锚点

    我想让浏览器将页面滚动到给定的锚点 只需使用 JavaScript 我已经指定了一个name or id我的 HTML 代码中的属性 a a or h1 h1 我希望获得与您导航到相同的效果http server com path anch
  • Linux 内核崩溃消息中的“代码”是什么?

    Linux 内核加载失败后 我有以下堆栈跟踪和崩溃信息 3 684670 cut here 3 695507 Bad FPU state detected at fpu clear 0x91 0xc2 reinitializing FPU
  • PhpExcel中获取单元格背景颜色

    我在我的项目中使用Excel5 我已经尝试过以下代码 objPHPExcel gt getActiveSheet gt getStyle A1 gt getFill gt getStartColor gt getARGB and objPH
  • 删除 PHP 多维数组中的父级

    删除多维数组中匹配键的父级的最佳方法是什么 例如 假设我们有以下数组 我想找到 text a 然后删除其父数组 0 array Array 0 gt Array text gt a height gt 30 1 gt Array text
  • 禁用识别监听器的“就绪”声音

    我实现了一个识别监听器 http developer android com reference android speech RecognitionListener html在选项卡式片段活动内部 发生的情况是 当用户滚动时 实现侦听器的
  • Delphi:取消选择树视图中的选定项目

    有一个树视图 MultiSelect true 如果选择所有项目 则无法取消选择或再次选择 但其他项目除外 我想我需要做TreeView1 Selected Selected false on TForm1 TreeView1Click 但