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;