问题标签 [tlistbox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6131 浏览

delphi - Delphi:如何为 Action/MenuItem 分配向上箭头键盘快捷键,并保持其实际用于导航列表控件 (ListBox/VTV)?

请帮助我:如何为操作或菜单项分配向上箭头键盘快捷键,并同时保持其实际用于导航列表控件(例如 ListBox/Virtual Treeview/other)?

谢谢!

0 投票
2 回答
3071 浏览

delphi - 如何摆脱 TListBox 垂直滚动限制?

我已经使用in virtual mode实现了一个日志查看器TListBox

它工作正常(对于我编写的所有代码),按预期显示内容(我什至很容易添加了一个水平滚动条),但我想我已经达到了垂直滚动条的某种限制。

也就是说,当我从上到下滚动垂直条时,它不会将内容滚动到列表的末尾,而只会滚动到一些限制。

你知道摆脱这个限制的任何可能性吗?我试过了SetScrollInfo,但它不起作用,因为限制听起来不在滚动条中,而是在其TListBox本身中。

我知道创建专用的解决方案TCustomControl:在这种情况下,SetScrollInfo它将按预期工作。但是有人知道仍然使用的解决方案/技巧TListBox吗?

编辑:说清楚 - 我不要求(第三方)组件解决方案,但要知道是否有一些低级 GDI 消息要发送到标准TListBox以覆盖此限制。如果没有,我将使用专用TCustomControl解决方案。

这是使用 TSCROLLINFO 的代码:

为了明确这个问题:当然,添加和绘制两者都有效(我的工具按预期工作),但不起作用的是垂直滚动条拖动。我重命名了问题的标题,并摆脱了已弃用的 MSDN 文章,这些文章令人困惑。

0 投票
2 回答
3078 浏览

delphi - TListbox - 操作图像和文本的布局?

我一直在玩 TListBox 控件,绘制图像和更改字体样式等。我想稍微提高一点,并尝试通过缩进和多级缩进来更多地操作项目。

看看这张图片以获得更好的想法:

在此处输入图像描述

这个想法是列表中位于开始和结束项之间的项目应该相应地缩进。

所以,为了给出一个想法,我在 Paint 中编辑了屏幕截图,所以它看起来像这样:

在此处输入图像描述

解决这个问题的方法是什么?我的想法是遍历列表框并在 2 个单独的变量中返回开始项和结束项的数量,然后以某种方式确定其他项的位置以及两者之间是否合适 - 但我的逻辑从来没有这么好:(

为了便于使用,我在下面提供了代码来展示我是如何绘制图像和样式的:

我将不胜感激有关如何确定操纵项目的一些提示。我知道我可以更改位图和文本的放置位置,但它会识别项目是否位于组之间,以及它是否设置了正确的缩进级别。

我希望这是有道理的,这就是我放一些模拟图片的原因。

谢谢 :)

PS,我从不写小帖子对不起!

使用工作演示更新

我已经接受了 Sertac 的回答,感谢 Sertac,我工作得很好。

为了帮助可能正在查看的其他人 - 因为我一直在学习 OOP,所以我想展示我的代码,看看它是否有好处:)

我制作了 2 个单元,Lib.pas 包含列表项的类,而 Unit1.pas 是 Form1 单元(我缩短了单元 1 以便更清楚地了解发生了什么):

库文件

单元1.pas

在此处输入图像描述

它可以做得更好,即根据 Items.Objects[] 属性分配图像索引,但这完美无缺:)

0 投票
1 回答
1277 浏览

delphi - 我可以强制 Delphi 6 TImageList 位图将其透明像素绘制为某种颜色吗?

我有一个 Delphi 6 应用程序,它在 TListBox 行中绘制图标以及一些文本。的TListBox样式设置为lbOwnerDrawVariable。我遇到的问题是选择项目时。列表框用于更改所选行的背景颜色的突出显示颜色使图标看起来很糟糕,因为图标具有透明像素(我基于可见证据的假设),并且这些像素被更改为背景颜色,从而破坏图片。有没有一种简单的方法可以强制将透明像素绘制成某种颜色,这样我就可以消除这个问题?我正在使用该方法在画布TImageList.Draw()上绘制图标。TListBox

0 投票
2 回答
4577 浏览

delphi - Delphi:绘制抗锯齿三角形

如何在 ListBoxDrawItem 上绘制抗锯齿三角形?

用锯齿画。

谢谢!!!

0 投票
1 回答
2597 浏览

delphi - 在 Delphi 中制作透明的 TListBox

一个透明的 TListBox:

我有我的 DrawItem:

一个问题是 ListBox 不能正常工作,项目消失,闪烁......

我不能合并 2 个程序的代码而只留下一个(被覆盖的一个或我的):

或者

我怎样才能让一切正常,列表框是透明的,项目被正确绘制?

0 投票
3 回答
2561 浏览

delphi - 动画将字符串添加到 FireMonkey 中的 ListBox

下面的代码很好地将一个新字符串添加到 ListBox 的末尾

该项目展开并淡入。但是我希望能够将字符串添加到 ListBox 中的任意位置 - 实际上是在当前 ItemIndex 处。有谁知道如何做到这一点?

0 投票
2 回答
1981 浏览

delphi - 将 ListBox 中的字符串转换为 List

TListBox 组件包含一组行(字符串)。如何将此集合作为列表 TList ?下面的代码示例没有给出预期的结果。(Сode 无法编译)

是否可以在不使用循环的情况下做到这一点?谢谢!

0 投票
1 回答
7066 浏览

delphi - 使用给定的示例和 fontColor 属性的问题创建特定的自定义 TListBoxItem

在此处输入图像描述
有人可以指导我正确的方向。我正在尝试使用 Delphi XE4 为 iOS 应用程序创建自定义 ListboxItem。我的目标输出将与上面的照片类似,因为我目前被困在这里(下图)。

在此处输入图像描述

我已经成功地动态生成了一个 ListBoxItem 并插入了一个 TLabel 对象,但是,我无法将 TLabel 的“fontColor”属性更改为所需的颜色。我可以编码

TLabel.Fontcolor := ClaBlue;

但颜色恢复为黑色。我希望它看起来就像我给出的示例一样。我在更改插入的 TLabel 的字体颜色以及为每个列表框项添加渐变背景时遇到了麻烦。我不知道是否需要使用“样式编辑器”,甚至不知道如何使用。是的,我查看了 Delphi/RAD Studio 中包含的示例 下面是我当前的编码:

0 投票
1 回答
340 浏览

ios - 如何让 TListBoxItem 的 ADetail 附件突出显示当前的 TListBoxItem

在我的程序中,我动态生成了 TListBoxItems,并在 ListBoxItems 上使用/插入了 Ttext 控件来自定义它。我的问题是,现在 TText 控件位于 Box Items 的顶部,我失去了用户选择和突出显示 Box Item 的能力。

IDK 如果只生成一个 ADetail Accessory 并让它成为突出显示项目的控件会更容易吗?或者设置 TText.OnClick 事件以突出显示框项目会更容易/更有益。无论哪种方式,我都感到困惑和迷失。

我尝试将 Ttexts 的 onClick 事件设置为它们的父控件 TListBoxItem,但这没有任何作用。

我还尝试创建一个新过程并尝试将 Object Sender.Parent 设置为...好吧,就我所知。

我正在使用 Delphi Xe4 为 iOS 创建一个应用程序。