TreeList显示CheckBox

TreeList在显示时不能显示复选框,可通过以下方法实现:

定义一个全局常量。

  • const
      TVIS_CHECKED = $2000; //节点是否被选中

 在窗体的onCreate事件中添加以下代码:

SetWindowLong(tvSetList.Handle, GWL_STYLE, 
GetWindowLong(tvSetList.Handle, GWL_STYLE) or $00000100);


判断是否被选中:

function IsChecked(Node: TTreeNode): Boolean;
//节点是否被选中
var
  TvItem: TTVItem;
begin  
  TvItem.Mask := TVIF_STATE;  
  TvItem.hItem := Node.ItemId;  
  TreeView_GetItem(Node.TreeView.Handle, TvItem);  
  Result := (TvItem.State and TVIS_CHECKED) = TVIS_CHECKED;
end;


你可能感兴趣的:(TreeList显示CheckBox)