デスクトップコンポジションを無効にすると、タブ上にマウスを置くたびに点滅/点滅します。これは、デスクトップコンポジションが無効になっている場合にのみ発生します。私はWM_ERASEBKGNDメッセージを取り消そうとしましたが、問題を解決しません。この問題の解決策は何ですか?デスクトップコンポジションを無効にすると、タブコントロールのフリッカーが発生する
これは、私がMASMタブコントロールに使用しようとした例です。
http://www.dreamincode.net/forums/index.php?app=core&module=attach§ion=attach&attach_id=28600
ビンがすでにコンパイルされています。
編集:WS_EX_COMPOSITEDフラグを有効にし、listviewコントロールを追加した後、listviewのフレームは描画されません。これは、ListViewタイプがレポートに設定されている場合にのみ発生します。問題について
WS_EX_COMPOSITEDフラグが問題を修正しますが、ちらつきが戻って
いくつかのzipファイルをチェックするつもりはないでしょうし、それは多分どんなコードでもありますが、ちょうどマウスの移動や同様のイベントでウィンドウコンテンツを描画しますか?最初に背景を描き、その上にテキストを描くことで描いていますか?あなたが頻繁にそれをやっていて、スクリーン上に最終状態の画像を構成するためのオフスクリーンバッファがない場合、それは観察者に「点滅」します(描画ルーチンが非常に高速でVSYNCに対して同期しない限り、表示レイがそれらのピクセルに到達すると、ウィンドウはすでに描画されています)。 (イベントドリブンアプリとしてのVSYNC同期は不可能かもしれません) – Ped7g
ウィンドウマネージャ自体がオフスクリーンテクスチャから最終イメージを作成するため、ウィンドウがそこから描画され、おそらくは「終了」している可能性があるため、いくつかの合理的なイベント(ウィンドウイベントを呼び出すことはできませんが、WM_DRAWのようなものはありませんでしたか?アプリケーションがイベントを取得し、オフスクリーンのバッファを再描画し、イベントを処理したことを報告し、コンポジタはそれを画面合成の入力として受け取ります。これはすべて私が十年を見たことのないOSの総称です。塩の穀物を取ってください。 – Ped7g
これは単なるダイアログボックスベースのアプリケーションなので、描画は関係ありません。ダイアログボックステンプレートは、ダイアログボックスリソースタイプとして保存され、** DialogBoxParam ** APIを通じて呼び出されます。タブは、DialogBox ** WM_INITDIALOG **メッセージ〜** SendDlgItemMessage ** APIへの応答として作成されます –