首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi的ListView控件怎么判断当勾选checkbox时,选的是第几行

2012-09-08 
delphi的ListView控件如何判断当勾选checkbox时,选的是第几行?delphi的ListView控件如何判断当勾选checkbo

delphi的ListView控件如何判断当勾选checkbox时,选的是第几行?
delphi的ListView控件如何判断当勾选checkbox时,选的是第几行?
viewstyle:=vsList;

我是想在ListView 的OnClick事件中判断,当点击某行前面的checkbox时,知道对应的是第几行?

看网上的资料,是用: ListView1.Selected.Index。这样在选中某行(非勾选checkbox)的时候返回值是对的,但是选中checkbox时的返回值是不对的。


请问,如何达到如题的目的?
谢谢。。。

[解决办法]

Delphi(Pascal) code
procedure TForm1.lv1MouseDown(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);var  item: TListItem;begin  item := lv1.GetItemAt(X, Y);  if item <> nil then  begin     ShowMessage(item.Caption);  end;end;
[解决办法]
[code=Delphi(Pascal)][/code]unit Unit3;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;

type
TForm3 = class(TForm)
ListView1: TListView;
Button1: TButton;
procedure ListView1Changing(Sender: TObject; Item: TListItem;
Change: TItemChange; var AllowChange: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form3: TForm3;

implementation

{$R *.dfm}

procedure TForm3.ListView1Changing(Sender: TObject; Item: TListItem;
Change: TItemChange; var AllowChange: Boolean);
begin
ShowMessage(IntToStr(Item.Index));
end;

end.

热点排行