得到与按钮列表视图中的每一项单击
问题描述:
我用delphi 10.1标准的TListView VCL得到与按钮列表视图中的每一项单击
生病尝试和exmple是更好,但我不是在说对不起OK很不错的说,我有标准的ListView
有下列顺序
- 肯白,
- 大卫·赫弗南,
- 西蒙·刘易斯, 在它的项目
现在我有两个按钮来回和前进,当我按下前进按钮时,它会得到列表中的第一个项目肯怀特,如果我继续按下按钮,它将沿列表直到它到达西蒙或最后一项。
现在它对于后退按钮是相同的,但是它会反过来从底部到顶部直到回到Ken White。
很抱歉,如果它没有多大意义的拼写不是我的东西CHAPS歉意诵读困难
答
要在TListView
向前移动,你可以使用GetNextItem
。
ListView1.Selected := ListView1.GetNextItem(ListView1.Selected, sdAll, []);
在上面的'sdAll'指定下一个项目将是其索引高于已选项目的项目。此方法在没有选定项目时选择第一个项目。当最后一个项目已被选中时,在呼叫返回后它将被取消选择。
要走向相反的方向,如果合适,您可以传递'sdLeft'或'sdAbove'而不是'sdAll'。如果没有,因为没有'GetPreviousItem',你必须编写代码来选择其索引低于已选项目的项目。例如:
if not Assigned(ListView1.Selected) then
ListView1.Selected := ListView1.Items[ListView1.GetCount - 1]
else if ListView1.Selected.Index = 0 then
ListView1.Selected := nil
else
ListView1.Selected := ListView1.Items[ListView1.Selected.Index - 1];
当选择了最后一个项目,你按你向前无所求发生你可能有,如果你想不同的行为,修改代码,例如。
+0
感谢那个sertac :) –
这是一个标准的TListView或其他东西?另外,包括这是VCL还是Firemonkey(它有所不同)。请[编辑]您的帖子以阐明这些详细信息,并包含填充示例列表视图的代码。 –
你是否在向前和向后计数挣扎。你有什么具体问题。 –
你不要跑一个循环倒计时,一个倒计时。你知道关于循环。 –