3

MDIアプリケーションのサブフォーム間でコントロールをドラッグアンドドロップする機能を備えたかなり大きなVB6アプリケーションがあります。問題は、ドラッグ操作中のパフォーマンスが非常に悪いことです。ドラッグすると、要素が(ゆっくりと)再描画されるのを確認できます。

私は最初にWindows7でこの問題に遭遇し、いくつかの調査の結果、これはAeroインターフェイスとの互換性の問題であると結論付けました。エアロエフェクトをオフにすることで回避できました。今私はWindows8を使用していますが、問題は再発しましたが、これは無効にするAeroではなくなりました.dwm.exeプロセスを停止しようとしましたが、これはWindows 8で自動的に再起動します。これは、愚かな「Modern-UI」インターフェース。

将来的には.NETへの移行を計画していますが、それは大きな仕事になるでしょう。今のところ、このドラッグの問題をWindows8で機能させるための回避策が必要です。

4

2 に答える 2

1

Windows 8でうまく機能する回避策を見つけました。ドラッグ中にアイコンを使用するようにコントロールを設定すると、パフォーマンスの問題が解消されます。これは、DragIconプロパティを設定することによって行われます。DragIconが設定されていない場合(この場合のように)、デフォルトの動作では、ドラッグのホイストでコントロールの境界線が表示されます。Aero対応のデスクトップで信じられないほど遅いのは、このボーダーの描画でした。今では期待どおりに動作し、見た目も少し良くなりました。

于 2013-02-04T15:05:06.820 に答える
0

これは悪い解決策ですが、うまくいくかもしれません。EXEのプロパティに移動し、[互換性]タブを選択します。互換モードをWinXPに設定します。[無効]で始まるチェックボックスをいじってみてください...通常、これらを組み合わせることで問題が解決します。繰り返しますが、優れたソリューションではありません。

于 2013-02-01T19:35:19.380 に答える