예제 #1
0
            public void SetState(TreeViewItemStates itemState, bool on = true)
            {
                mask      |= TreeViewItemMask.TVIF_STATE;
                stateMask |= itemState;
                var tempState = State;

                EnumExtensions.SetFlags(ref tempState, itemState, on);
                state = (uint)tempState | (state & 0xFFFFFF00);
            }
예제 #2
0
 public bool GetState(TreeViewItemStates itemState) => State.IsFlagSet(itemState);
예제 #3
0
        /// <summary>Gets the node values.</summary>
        /// <param name="node">The <see cref="TreeNode"/> instance for which to get details.</param>
        /// <param name="mask">The mask of items to get.</param>
        /// <param name="stateMask">The mask of states to get.</param>
        /// <returns>A <see cref="TVITEMEX"/> structure with the information.</returns>
        public static TVITEMEX GetItem(this TreeNode node, TreeViewItemMask mask = (TreeViewItemMask)0x13FF, TreeViewItemStates stateMask = (TreeViewItemStates)0xFFFF)
        {
            var tvItem = new TVITEMEX
            {
                hItem     = node.Handle,
                mask      = mask.SetFlags(TreeViewItemMask.TVIF_HANDLE).SetFlags(TreeViewItemMask.TVIF_TEXT, false),
                stateMask = stateMask
            };

            SendMessage(node.TreeView.Handle, TreeViewMessage.TVM_GETITEM, default, ref tvItem);