有关 ListView 控件 , 鼠标选中虚线框的问题,各位大虾,求救了!! (50分)

K

koa3000

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾,
假设 ListView 有 4 个item,
鼠标选中第3个,虚线框就在第3个,显示亮色。
按下一个button, 让第2个item被选中,结果第2个item显示亮色。

问题出来了: 虚线框仍然在第3个!!!!
结果,选中的是第2个,也是第2个item显示亮色,但是,虚线框却在第3个!

各位大虾,应该怎么办?
 
自己定义 Application.OnMessage 试试呢?

procedure TForm1.MyProc(var Msg: TMsg; var Handled: Boolean);
begin
if (msg.hwnd=listview.handle ) and (msg.Message=wm_mousemove) then
handled:=true;
end;
 

各位大虾,紧急求助中
 
通过编程完成一个Item向下移动的例子,你参考一下,没有你所说的问题

procedure TFrmMain.Btn_DownClick(Sender: TObject);
//下移
var
i :integer;
begin
if (LstView.SelCount<>0) and (LstView.Selected.Index<> LstView.Items.Count-1 )then
begin
i:= Lstview.Selected.Index;
LstView.SetFocus ;
LstView.Selected := LstView.Items[i+1];
end;
end;
 
LstView.Selected := LstView.Items;
[red]LstView.Items.Focused:=true;[/red]
 

非常感谢 一个过客, 问题正是你所标注的方法解决的,3ks!!
 
顶部