4

ローカルで実行するときはダブル バッファリングを使用することになっていますが、ウィンドウがリモート セッション上にあるときは、各モードで最高のパフォーマンスを得たい場合はダブル バッファリングを使用しないでください。

LVS_EX_DOUBLEBUFFERListView コントロールには、ListView の内容を自動的にダブル バッファリングする拡張スタイル があります。

ローカル セッションとリモート セッション間の変更について通知を受けるために登録し、それに応じてこのフラグを更新する必要がありますか? または、ListView はこれを自動的に行いますか?

4

1 に答える 1

5

ListView は、リモートで実行しているかローカルで実行しているかに応じて自動的に調整されません。コントロールの作成時に設定した拡張スタイル フラグの値を尊重します。設定LVS_EX_DOUBLEBUFFERした場合、表示はダブル バッファリングされ、設定しない場合はそうではありません。Raymond Chen なら、それ以外の動作はすべてバグであることに同意するでしょう。

次のコマンドを使用して、いつでもフラグの状態を変更できますLVM_SETEXTENDEDLISTVIEWSTYLE

SendMessage(hwnd, LVM_SETEXTENDEDLISTVIEWSTYLE, LVS_EX_DOUBLEBUFFER, isRemote ? 0 : LVS_EX_DOUBLEBUFFER);

リンクされた記事の後の次の記事では、表示がローカルとリモートの間で変化したときに通知を受け取る方法を示しています: http://blogs.msdn.com/b/oldnewthing/archive/2006/01/04/509194.aspx

于 2011-01-06T22:02:35.770 に答える