将ListView中的某行Selected后,怎么样让其变蓝?

wbamboo 2002-05-16 03:37:47
假设ListView有三行记录
ListView.SetFocus;
ListView.Items.Item[0].Selected;
此时,是选中了第一行,怎样才能将此行变成蓝色,就像用鼠标点的那样.
我试过ListView.Items[0].DropTarget:=TRUE;
整行是变蓝了,但和用鼠标点的效果有区别,且在选择其他行时还得将其设为FALSE, 极不方便.
哪位有好方法?
...全文
28 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2002-05-16
  • 打赏
  • 举报
回复
首先listview1要获得焦点,否则为灰色,
其次listview1.Items.Item[0].selected:=True;
并设置RowSelect属性为True
gateway 2002-05-16
  • 打赏
  • 举报
回复
对于第一个问题,只要把listview的rowselect设置为true;
第二个问题,在listview的mouseup事件中写入代码:(假设你要选第二项,并使其不变)
if listview1.Items.item[0].Selected=true then
begin
listview1.Items.Item[0].selected:=false;
listview1.items.item[1].selected:=true;
end
else
listview1.Items.Item[1].selected:=true;
wbamboo 2002-05-16
  • 打赏
  • 举报
回复
在不改变ListView的Enabled的前提下,怎样才能使其不能选择其他的行?
短歌如风 2002-05-16
  • 打赏
  • 举报
回复
ListView1.Selected := ListView1.Items[0];也可以.
wbamboo 2002-05-16
  • 打赏
  • 举报
回复
TO bear_c() :
当LiswView中只有一行记录时不行.
此外,我还想问的是在不改变ListView的Enabled的前提下,怎样才能使其不能选择其他的行?
bear_c 2002-05-16
  • 打赏
  • 举报
回复
我试了一下,ListView.Items.Item[0].Selected := true;就可以了
bear_c 2002-05-16
  • 打赏
  • 举报
回复
我试了一下,ListView.Items.Item[0].Selected;就可以了
dancemaple 2002-05-16
  • 打赏
  • 举报
回复
把HideSelection属性设置为False试试看

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧