LVS_EX_DOUBLEBUFFERは、リモートセッションで実行するときにダブルバッファーを正しくありませんか?

StackOverflow https://stackoverflow.com/questions/4588356

質問

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

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

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

役に立ちましたか?

解決

ListViewは、リモートまたはローカルを実行しているかどうかに自動的に調整されません。コントロールが作成されたときに設定した拡張スタイルフラグの価値を尊重します。設定した場合 LVS_EX_DOUBLEBUFFER その後、ディスプレイはダブルバッファーされ、そうでない場合はそうしません。レイモンド・チェンは、他の行動がバグになることに同意するだろうと確信しています。

あなたはいつでもフラグの状態を変更することができます LVM_SETEXTENDEDLISTVIEWSTYLE:

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

The Next記事のリンクされた記事は、ローカルとリモートの間でディスプレイが変更されたときに通知を受ける方法を示しています。 http://blogs.msdn.com/b/oldnewthing/archive/2006/01/04/509194.aspx

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top