/// <summary> /// アイコンのオーバーレイを表示します。 /// </summary> /// <param name="self">アイコンオーバーレイを表示させたい<see cref="System.Windows.Forms.TreeNode"/></param> /// <param name="overlayIndex">オーバーレイインデックス(開始値 1)</param> public static void Overlay(this TreeNode self, int overlayIndex) { if (self == null) throw new ArgumentNullException("self is null."); // TreeView_SetItemState(node.TreeView.Handle, node.Handle, // overlayIndex << 8, TVIS_OVERLAYMASK); 相当の処理 TVITEM tvi = new TVITEM(); tvi.mask = NativeMethods.TVIF_STATE; tvi.hItem = self.Handle; tvi.stateMask = NativeMethods.TVIS_OVERLAYMASK; tvi.state = ((uint)overlayIndex << 8); NativeMethods.SendMessage(self.TreeView.Handle, NativeMethods.TVM_SETITEMW, 0, ref tvi); }
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, int wParam, ref TVITEM lParam);