How to make retina-compatible DragPicture?


I am trying to implement a custom picture when the user tries to drag a cell from a listbox. I use

drag.DragPicture = myPicture

in the DragRow event handler. So far, to make pictures retina compatible, I generate them with twice the width and height and then I use something like:

g.DrawPicture(pic, 0, 0, g.Width, g.Height, 0, 0, pic.Width, pic.Height)

However this approach seems not to be working in the case of DragPicture. I tried the following:

Dim p2 As New Picture(p.Width/2, p.Height/2) p2.Graphics.DrawPicture(p, 0, 0, p2.Width, p2.Height, 0, 0, p.Width, p.Height) drag.DragPicture = p2

but the result is non-retina in this case…Any suggestions?


Fill a feature request via Feedback.

Or go with MBS Plugin as an alternative.

Hi Christian,

which MBS plugin can do that?


Cocoa plugins have a couple of NSDrag* classes.

Thanks I will take a look at your plugins.

I spent few hours taking a look at MBS plugins (really impressive), however I did not anything which really fits my needs. So, going back to the OP, is there any native workaround? Am I doing something wrong?


Did you look into “Custom NSView Drag” example project?