diff --git a/docs/latex/wx/dragimag.tex b/docs/latex/wx/dragimag.tex index 72cca31294..42eab1e207 100644 --- a/docs/latex/wx/dragimag.tex +++ b/docs/latex/wx/dragimag.tex @@ -28,6 +28,14 @@ override \helpref{wxDragImage::DoDrawImage}{wxdragimagedodrawimage} and Please see {\tt samples/dragimag} for an example. +%\wxheading{Notes} +% +%Using the native Windows implementation, you must supply an image with a mask, or +%the image will not show when dragged. It is not clear if this is a bug +%in Windows or in the wxDragImage implementation. You can add a mask +%with a call to wxImage::SetMaskColour, passing RGB values not likely +%to be in the image. [CURED by creating the ImageList with ILC_MASK] + \wxheading{Derived from} \helpref{wxObject}{wxobject} diff --git a/src/msw/dragimag.cpp b/src/msw/dragimag.cpp index b80fac16b7..ae349c83fd 100644 --- a/src/msw/dragimag.cpp +++ b/src/msw/dragimag.cpp @@ -129,8 +129,12 @@ bool wxDragImage::Create(const wxBitmap& image, const wxCursor& cursor) flags = ILC_COLOR32; bool mask = (image.GetMask() != 0); - if ( mask ) - flags |= ILC_MASK; + + // Curiously, even if the image doesn't have a mask, + // we still have to use ILC_MASK or the image won't show + // up when dragged. +// if ( mask ) + flags |= ILC_MASK; m_hImageList = (WXHIMAGELIST) ImageList_Create(image.GetWidth(), image.GetHeight(), flags, 1, 1);