VB6 drag and drop performance in Windows 8

I have a fairly large VB6 application that allows drag and drop controls between subforms in an MDI application. The problem is that the performance during the drag-and-drop operation is very poor. You can see the redraw element (slowly) as you drag it.

I first encountered this issue on Windows 7 and after some research came to the conclusion that it is a compatibility issue with the Aero interface. I was able to get around it by turning off the Aero effects. Now I am using Windows 8, the problem is again, however it is no longer Aero to disable. I tried to stop the dwm.exe process, but it just restarts on Windows 8, I guess this is because it is necessary for the silly Modern UI.

I plan on switching to .NET in the future, but it will be a lot of work. At the moment I need a workaround to fix this drag and drop issue working on Windows 8.

+3


source to share


2 answers


We found a workaround that works well on Windows 8. Configuring controls to use an icon on drag-and-drop fixes a performance issue. This is done by setting the DragIcon property. If DragIcon is not set (as in our case), the default behavior is to show the drag border of the control. It was a drawing of this border guard, which was incredibly slow on the Aero desktop. It now works as expected and looks a little better.



+1


source


This is a bad solution, but it might work for you. Go to Properties for Your EXE and select the Compatibility tab. Set compatibility mode to WinXP. Try messing with checkboxes that start with Disable ... Usually some combination of these will usually solve the problem. Again, not a big decision.



0


source







All Articles