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); }
/// <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);
public void SetText(IntPtr managedStringPtr, int stringLen) { pszText = managedStringPtr; cchTextMax = stringLen; mask |= TreeViewItemMask.TVIF_TEXT; }