Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- procedure ToggleTreeView(Node: TTreeNode; CheckedBox, UncheckedBox, CheckedNotAll: Integer);
- var
- i: Integer;
- function ChildSelectAll(Node: TTreeNode; Checked, Unchecked: Integer): Boolean;
- var
- x: Integer;
- begin
- for x:=0 to Node.Count-1 do
- begin
- if Node.Item[x].StateIndex = Checked then
- Result := True
- else if Node.Item[x].StateIndex = Unchecked then
- begin
- Result := False;
- Exit;
- end;
- end;
- end;
- begin
- if Assigned(Node) then
- begin
- // Untuk per Node
- if (Node.StateIndex = UncheckedBox) or
- (Node.StateIndex = CheckedNotAll) then
- Node.StateIndex := CheckedBox
- else
- Node.StateIndex := UncheckedBox;
- // Jika Node Parent di Klik, Semua Node Child AutoChecked
- if Node.Level = 0 then
- begin
- for i:=0 to Node.Count-1 do
- begin
- Node.Item[i].StateIndex := Node.StateIndex;
- end;
- end;
- if Node.Level = 1 then
- begin
- case ChildSelectAll(Node.Parent, CheckedBox, UncheckedBox) of
- true : Node.Parent.StateIndex := CheckedBox;
- false : Node.Parent.StateIndex := CheckedNotAll;
- end;
- end;
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment