2013-02-01 2 views
3

MD6 응용 프로그램의 하위 폼간에 컨트롤을 끌어다 놓는 기능이있는 다소 큰 VB6 응용 프로그램이 있습니다. 문제는 드래그 작업 중에 성능이 매우 나쁘다는 것입니다. 드래그 할 때 요소를 다시 그리는 (천천히) 것을 볼 수 있습니다.VB6 Windows 8의 끌어서 놓기 성능

Windows 7에서 처음으로이 문제가 발생했으며 일부 연구에서 Aero 인터페이스와의 호환성 문제라고 결론을 냈습니다. Aero 효과를 끄면 해결할 수있었습니다. 이제는 Windows 8을 사용하고 있습니다. 문제는 다시 발생합니다. 그러나 더 이상 Aero를 비활성화 할 수 없습니다. dwm.exe 프로세스를 중지하려고 시도했지만 Windows 8에서 다시 시작됩니다. 어리석은 "현대 UI"인터페이스.

앞으로 .NET으로 마이그레이션 할 계획이지만 앞으로 큰 일이 될 것입니다. 현재로서는 Windows 8에서이 드래그 문제를 해결할 수있는 해결 방법이 필요합니다.

+0

VB6 응용 프로그램은 조만간 가상 컴퓨터에서 실행됩니다. 15 년 후에, 그것은 오늘 더 빠릅니다. DwmEnableComposition()은 Win8에서 더 이상 작동하지 않습니다. VM이 당신이 찾고있는 해결 방법입니다. –

+0

감사합니다. 한스. 불행히도 VM은 실행 가능한 옵션이 아닙니다. VB6 내에서 할 수있는 일이 있기를 바랬습니다. – SausageFingers

+0

mmm 정말 마이그레이션 할 때처럼 들리며 커다란 직업이 될 필요는 없습니다 ... vb6 마이그레이션 도구를 찾으십시오. – orellabac

답변

1

Windows 8에서 잘 작동하는 해결 방법을 발견했습니다. 드래그하는 동안 아이콘을 사용하도록 컨트롤을 설정하면 성능 문제가 해결됩니다. DragIcon 속성을 설정하면됩니다. DragIcon이 설정되어 있지 않으면 (우리의 경우와 같이), 기본 동작은 컨트롤 위글을 드래그하는 경계를 표시하는 것입니다. Aero가 가능한 바탕 화면에서 매우 느린이 하숙인의 그림이었습니다. 이제 예상대로 수행되고 조금 나아졌습니다.

0

이것은 나쁜 해결책이지만 효과가있을 수 있습니다. EXE에 대한 속성으로 이동하여 호환성 탭을 선택하십시오. 호환성 모드를 WinXP로 설정하십시오. 비활성화 ...로 시작하는 확인란을 사용하면 문제가 해결됩니다. 일반적으로이 중 일부 조합을 사용하면 일반적으로 문제가 해결됩니다. 또 다시, 중대한 해결책 아닙니다.

+0

다양한 호환성 조합을 모두 시도했지만 아무런 차이가 없습니다. – SausageFingers