Question

I have a rather large VB6 application that features dragging and dropping controls between sub forms in an MDI application. The problem is the performance is really bad during the drag operation. You can see the element redrawing (slowly) as you drag it.

I first encountered this issue in Windows 7 and after some research concluded that it was a compatibility issue with the Aero interface. I was able to work around it by switching off the Aero effects. Now I am using Windows 8 the problem is back, however, this is no longer any Aero to disable.I have tried stopping the dwm.exe process but this just restarts itself in windows 8, I assume that this is because its required for the stupid "Modern-UI" interface.

I am planning to migrate to .NET in the future but its going to be a big job. For now I need a workaround to get this drag problem working in Windows 8.

Was it helpful?

Solution

We found a workaround that works well in Windows 8. Setting the controls to use an icon whilst dragging gets rid of the performance issue. This is done by setting the DragIcon property. If no DragIcon is set (as was in our case), the default behavior is to show the border of the control whist dragging. It was the drawing of this boarder that was incredibly slow in an Aero enabled desktop. Now it performs as expected and looks a little better too.

OTHER TIPS

This is a bad solution, but it might just work for you. Go into the Properties for your EXE and pick the Compatibility tab. Set compatibility mode to WinXP. The try messing with the checkboxes that start with Disable... Usually some combination of these would typically resolve the issue. Again, not a great solution.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top