下面的代码可以让Treeview前面显示CheckBox.
const
TVS_CHECKBOXES = $00000100;
procedure SetComCtrlStyle(WinCtrl: TWinControl; Value: Integer; UseStyle: Boolean);
var
Style: Integer;
begin
if WinCtrl.HandleAllocated then
begin
Style := GetWindowLong(WinCtrl.Handle, GWL_STYLE);
if not UseStyle then
Style := Style and not Value
else Style := Style or Value;
SetWindowLong(WinCtrl.Handle, GWL_STYLE, Style);
end;
end;
然后 在 OnCreate 调用:
SetComCtrlStyle(TreeView1, TVS_CHECKBOXES, True);
或者干脆简单点,一句话完事:
SetWindowLong(TreeView1.Handle, GWL_STYLE, GetWindowLong(TreeView1.Handle, GWL_STYLE) or $00000100);