给treeview添加checkbox

--------------------------------------------------------------------------------

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls;

type

TForm1 = class(TForm)

   TreeView1: TTreeView;

   Button1: TButton;

  procedure FormCreate(Sender: TObject);

  procedure Button1Click(Sender: TObject);

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

uses CommCtrl;

//让 TreeView 带有复选框

procedure TForm1.FormCreate(Sender: TObject);

var

H: HWND;

begin

H := TreeView1.Handle;

SetWindowLong(H, GWL_STYLE, GetWindowLong(H, GWL_STYLE) or TVS_CHECKBOXES);

{下面的代码只是给 TreeView 添加内容}

with TreeView1 do

begin

   Align := alLeft;

   Items.Add(nil, 'AAA');

   Items.Add(nil, 'BBB');

   Items.Add(nil, 'CCC');

   Items.AddChild(Items[2], '111');

   Items.AddChild(Items[2], '222');

   Items.AddChild(Items[2], '333');

end;

end;

//列举带有复选框的项

procedure TForm1.Button1Click(Sender: TObject);

var

Node: TTreeNode;

TVI: TTVItem;

begin

for Node in TreeView1.Items do

begin

   TVI.mask := TVIF_STATE;

   TVI.hItem := Node.ItemId;

   TreeView_GetItem(TreeView1.Handle, TVI);

  if TVI.state and $2000 = $2000 then

     ShowMessage(Node.Text);

end;

end;

end.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值