- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个TListBox
,每个项目都有控件,例如TEdit
、TComboBox
、TSwitch
等, 右对齐。此列表中有大约 20 项,因此它超出了屏幕,因此用户需要滚动(通过滑动手指)才能到达底部。
问题是,即使是快速手势,如果用户最初在其中一个控件上滑动手指,该控件会获得焦点并且列表不会滚动。目前,向上或向下滚动的唯一方法是在列表左侧滑动手指,那里没有任何控件。我可以禁用HitTest
或CanFocus
,但是即使用户想要,该控件也永远不会获得焦点实际上点击它。
如何允许用户在这些控件上向上或向下滑动以滚动列表,而控件不会获得焦点?
最佳答案
我遇到了同样的问题。
为了使用 TListBox 解决这个问题,我使用了一个内部有布局的 TVertScrollBox。
每个控件都与顶部对齐,为了使其正常工作,我需要一个 VKVertScrollBox 来自: https://github.com/DelphiWorlds/KastriFree/tree/master/Demos/VKVertScrollbox
这样做,您将获得一个可滚动的组件列表,您可以在其中向下滑动手指并看到它在移动。
此外,为了避免在滑动时在每个组件上输入和获取焦点,您可以在每个组件上使用一个帮助器来通过覆盖 MouseDown、MouseMove 和 MouseUp 来捕捉移动,并防止在移动时输入覆盖 doEnter(也被覆盖)(被捕获)在 MouseMove 方法上)。
关于delphi - 如何在不捕获控件焦点的情况下滚动 Firemonkey TListBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46243737/
我正在使用 Delphi XE4,下面是我的示例应用程序。 unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.S
如果您的列表框包含许多项目并且您需要选择例如项目,则项目的选择会变得很痛苦。通过手动单击和选择 400 个项目。 有没有一种优雅的方法可以使用某个“ 通过模式函数 选择项目”从列表框中选择项目? 最佳
我在我的数据库中用 MYDAC 组件创建了一个表并添加了数据。我如何从该表中提取列中的这些值? 我试过了,但没用; MyQuery1.Close; MyQuery1.SQL.Text :='SEL
当选择一个项目(按住鼠标左键)并将鼠标移到列表框之外时,我需要更改列表框滚动的速度。要复制该行为,请执行以下操作: 将列表框拖放到表单上(+- 250 x 200 奇数)。不要让它太大,否则滚动条在底
我一直在尝试使用 TListBox 控件、绘制图像和更改字体样式等。我想稍微加强一下,并尝试通过缩进和多级缩进来更多地操作项目。 看看这张图片以获得更好的想法: 这个想法是列表中位于起始项和结束项之间
我在 Delphi 中为 TListBox 有一个自定义 style,我可以在其中简单地更改 Text 属性喜欢 lb_item.StylesData['location'] := 'New Text
我正在使用 TListBox 组件来显示带有 CheckBoxes 的列表。 它在 iOS 上运行良好,但在 Android 上滚动时会产生小的延迟。 乍一看,我认为这是因为每个 TListBoxIt
我有一个TListBox,每个项目都有控件,例如TEdit、TComboBox、TSwitch等, 右对齐。此列表中有大约 20 项,因此它超出了屏幕,因此用户需要滚动(通过滑动手指)才能到达底部。
我想通过将列表框与其他两个列表框进行比较来清理列表框。 Listbox1 将包含项目的大列表 Listbox2 会有我想从 listbox1 中删除的词 Listbox3 将包含必须存在的强制性单词才
我正在 Lazarus 上开发一个电子书管理器,但我在使用一个我从未使用过的组件 (TListBox) 时遇到了一些麻烦。在名为 CategoryList 的 TListBox 上,我有这些项目: L
我正在使用 XE7 和 FMX。 我的问题是 TListbox 的 OnChange-Event 无法正确处理多选(它不会在每次发生更改时触发)。 重现步骤: 创建一个 FMX 应用程序并将 TLis
我正在创建一个多设备 FireMonkey 应用程序,我想在选择 TListBox 项目时更改其颜色。 如何在 Rad Studio XE7 中完成此操作? 最佳答案 打开位图样式设计器(请参阅 RA
查看代码: function ShowItem(MyData: TMyData): TListItem; var vListItem: TListItem; begin vListItem :
我有一种记录类型。我想在 TListbox 中添加该记录类型的变量,并在 TListbox 的单击事件上检索它。是否可以?如果是的话怎么办? 我使用添加它 lstbox.AddItem(data,my
我正在将 ListBox.Style := lbOwnerDrawFixed 与 OnDrawItem 一起使用: procedure TForm1.ListBox1DrawItem(Control:
简短版本:有没有办法单独控制或修改LisBox项目?例如,分别将其 Visible 属性设置为 False。我在搜索时在Fire Monkey中发现了TListBoxItem类,但我不想使用Fire
是否有使用 TListBox 获得“OnChange”类型功能的技巧?我可以对组件进行子类化并添加属性等,然后仅在索引更改时执行 OnClick 代码...我还可以使用表单级别变量来破解它以存储当前索
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwner
在 DelphiXE 中,我使用 tFileOpenDialog 选择一个文件夹,然后在 tListBox 中列出该文件夹中的所有 *.jpg 文件。我允许将列表项拖放到列表中进行自定义排序,以便稍后
这就是我从本地服务器上的列表中获取一些项目的方法。 我认为它仍然需要一些重构(抱歉,我是 Delphi 的初学者),但是我想更好地理解为什么 ListItem colors 没有被改变。 我做了一些调
我是一名优秀的程序员,十分优秀!