protected override void OnPreviewDragHint(PreviewDragHintEventArgs e) { if (!this.ShowDragHint) { e.DragHint = (Image)null; e.UseDefaultHint = false; } TreeViewPreviewDragHintEventArgs dragHintEventArgs = new TreeViewPreviewDragHintEventArgs(e.DragInstance, DropPosition.None); dragHintEventArgs.DragHint = e.DragHint; dragHintEventArgs.UseDefaultHint = e.UseDefaultHint; base.OnPreviewDragHint((PreviewDragHintEventArgs)dragHintEventArgs); }
protected override void SetHintWindowPosition(Point mousePt) { this.owner.ElementTree.Control.PointToClient(mousePt); TreeNodeElement dropTarget = this.DropTarget as TreeNodeElement; if (dropTarget != null) { DropPosition dropPosition = this.GetDropPosition(dropTarget.PointFromScreen(mousePt), dropTarget); TreeViewPreviewDragHintEventArgs e = new TreeViewPreviewDragHintEventArgs(this.Context as ISupportDrag, dropPosition); this.OnPreviewDragHintWithDropPosition(e); Image image1 = (Image)null; if (e.UseDefaultHint) { switch (dropPosition) { case DropPosition.BeforeNode: image1 = (Image)Telerik\u002EWinControls\u002EUI\u002EResources.RadTreeViewDropBefore; break; case DropPosition.AfterNode: image1 = (Image)Telerik\u002EWinControls\u002EUI\u002EResources.RadTreeViewDropAfter; break; case DropPosition.AsChildNode: image1 = (Image)Telerik\u002EWinControls\u002EUI\u002EResources.RadTreeViewDropAsChild; break; } if (image1 != null && this.dragHintImageCache != null && this.ShowDragHint) { Image image2 = (Image) new Bitmap(image1.Width + this.dragHintImageCache.Width, Math.Max(image1.Height, this.dragHintImageCache.Height)); using (Graphics graphics = Graphics.FromImage(image2)) { graphics.Clear(Color.White); graphics.DrawImage(image1, new RectangleF(0.0f, (float)(image2.Height - image1.Height) / 2f, (float)image1.Width, (float)image1.Height)); graphics.DrawImage(this.dragHintImageCache, new RectangleF((float)image1.Width, (float)(image2.Height - this.dragHintImageCache.Height) / 2f, (float)this.dragHintImageCache.Width, (float)this.dragHintImageCache.Height)); graphics.DrawRectangle(Pens.LightGray, new Rectangle(0, 0, image2.Width - 1, image2.Height - 1)); } this.HintWindow.BackgroundImage = image2; } base.SetHintWindowPosition(new Point(mousePt.X - 20, mousePt.Y)); return; } this.HintWindow.BackgroundImage = e.DragHint; } base.SetHintWindowPosition(new Point(mousePt.X, mousePt.Y)); }
protected virtual void OnPreviewDragHintWithDropPosition(TreeViewPreviewDragHintEventArgs e) { base.OnPreviewDragHint((PreviewDragHintEventArgs)e); }