コード例 #1
0
            /// <summary>
            /// Drop の仕方を取得します。
            /// </summary>
            /// <param name="target">現在マウスが載っている TreeNode を指定します。</param>
            /// <param name="dde_on">指定した Drop 目標自体に落とす時の効果を返します。</param>
            /// <param name="dde_prt_bet">兄弟位置に挿入する時の効果を返します。</param>
            /// <param name="dde_self_bet">子供位置に挿入する時の効果を返します。</param>
            /// <returns>
            /// 以下の組合せの値が返されます。
            /// 1. 自分自身に Drop 可能か
            /// 2. 兄弟位置に挿入可能か
            /// 4. 子供位置に挿入可能か
            /// </returns>
            protected override int GetDropAllowance(
                System.Windows.Forms.TreeNode target,
                System.Windows.Forms.DragEventArgs e,
                out DDE dde_on, out DDE dde_prt_bet, out DDE dde_self_bet)
            {
                IDropTarget dt;
                bool        on, self_bet, prt_bet;

                //-- (IDropTarget)target
                if ((dt = target as IDropTarget) != null)
                {
                    on           = dt.DragOver(e);
                    dde_on       = e.Effect;
                    self_bet     = dt.DragOverBetweenChild(e);
                    dde_self_bet = e.Effect;
                }
                else
                {
                    on     = self_bet = false;
                    dde_on = dde_self_bet = DDE.None;
                }
                //-- (IDropTarget)target.Parent
                if ((dt = target.Parent as IDropTarget) != null)
                {
                    prt_bet     = dt.DragOverBetweenChild(e);
                    dde_prt_bet = e.Effect;
                }
                else
                {
                    prt_bet     = false;
                    dde_prt_bet = DDE.None;
                }
                //--結果
                return((on?1:0) + (prt_bet?2:0) + (self_bet?4:0));
            }
 public System.Windows.Forms.DragDropEffects DoDragDrop(object data, System.Windows.Forms.DragDropEffects allowedEffects)
 {
 }
コード例 #3
0
 /// <summary>
 /// Drop が可能かどうかを取得します。
 /// </summary>
 /// <param name="target">Drop の対象の TreeNode を指定します。</param>
 /// <param name="e">Drag の状況を指定します。</param>
 /// <param name="dde_on">TreeNode に落とす時の動作を返します。</param>
 /// <param name="dde_prt_bet">兄弟位置に落とす時の動作を返します。</param>
 /// <param name="dde_self_bet">子ノード位置に落とす時の動作を返します。</param>
 /// <returns>可能な Drop の方法を数値で返します。継承元の説明を参照して下さい。</returns>
 protected override int GetDropAllowance(System.Windows.Forms.TreeNode target, System.Windows.Forms.DragEventArgs e, out System.Windows.Forms.DragDropEffects dde_on, out System.Windows.Forms.DragDropEffects dde_prt_bet, out System.Windows.Forms.DragDropEffects dde_self_bet)
 {
     dde_on = dde_prt_bet = dde_self_bet = DDE.Move;
     //System.Console.WriteLine("o");
     return((_on?1:0) + (_bet?6:0));
 }
コード例 #4
0
 //===========================================================
 //		そこに Drop 出来るか否かの判定
 //===========================================================
 /// <summary>
 /// Drop の仕方を取得します。
 /// </summary>
 /// <param name="target">現在マウスが載っている TreeNode を指定します。</param>
 /// <param name="dde_on">指定した Drop 目標自体に落とす時の効果を返します。</param>
 /// <param name="dde_prt_bet">兄弟位置に挿入する時の効果を返します。</param>
 /// <param name="dde_self_bet">子供位置に挿入する時の効果を返します。</param>
 /// <returns>
 /// 以下の組合せの値が返されます。
 /// 1. 自分自身に Drop 可能か
 /// 2. 兄弟位置に挿入可能か
 /// 4. 子供位置に挿入可能か
 /// </returns>
 protected abstract int GetDropAllowance(
     System.Windows.Forms.TreeNode target,
     System.Windows.Forms.DragEventArgs e,
     out DDE dde_on, out DDE dde_prt_bet, out DDE dde_self_bet);