いつもお世話になっております。
ただいまVC++をもちいてアプリを作っておりますが画面がちらつきを押さえたく、質問させていただきます。
現在、STATICな領域がありまして、その中に文字を書いているのですが、
時間経過とともに文字が変わるものがあります。
その際、背景黒に白文字で以下のようにしています。
::ShowWindow(hoge,hogehoge,SW_HIDE);
::SetDlgItemText(hoge,hogehoge,text);
::ShowWindow(hoge,hogehoge,SW_SHOW);
とやっておりますが、スタティック領域全体が一瞬白くなってから
更新されます。
結構頻繁に更新するので、ちらつきが結構目立ってしまいます。
invalidateなどもやってみたのですが同様にちらついてしまいました。
なんとか改善したいのですが何か方法はありますでしょうか?
アドバイスよろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
ビットマップハンドルを一つ作成しておいて、それに向かってテキストを書き込んだ後、スタティックウィンドウに表示すれば出来るのではないでしょうか。
//遠くで作成しておく
HBITMAP g_hBmpBackBuffer;
HPEN g_hPen;
HBRUSH g_hBrush;
//・
//・
//・
//テキストを書く時
HDC hDCBackBuffer = ::CreateCompatibleDC(NULL);
HDC hDCStatic = ::GetDC(hWndStatic);
::SelectObject(hDCBackBuffer, g_hBrush);
::SelectObject(hDCBackBuffer, g_hPen);
::DrawText(hDCBackBuffer, , , , pszText);
::BitBlt(hDCStatic, , , , hDCBackBuffer, , , );
::ReleaseDC(hWndStatic, hDCStatic);
::DeleteDC(hDCBackBuffer);
No.4
- 回答日時:
私なら #2氏のように ShowWindowの SW_HIDE/SW_SHOWをやめて更新の頻度を抑える方向で考えます
単純なカウンタを用意して10回に1回更新する
更新イベントが停止したら最終的なデータで更新する
といった具合です …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで文字分割は、 split() などメソッド不要??? 4 2023/02/06 22:50
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- PostgreSQL 【PostgreSQL】行の値の並びを変えるには 1 2023/03/21 16:46
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- HTML・CSS 全部のアクセスを指定したページに転送させたい 2 2022/06/28 16:33
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- C言語・C++・C# sprintf()の使い方について 1 2022/08/17 16:16
- JavaScript JavaScriptで「〇以上▲まで」の書き方 1 2022/07/20 14:44
- HTML・CSS htmlです。 上のところには黒文字でピカチュウで、ピカチュウの文字には影をすべてにつけてください周 1 2023/01/02 12:48
- Illustrator(イラストレーター) ワードに貼った画像のキャンバスと画像本体のサイズの調整 2 2022/05/19 18:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASP+アクセスでのSQLコメントに...
-
MFCのキャプション変更
-
Linux バイナリ実行できない "...
-
ページ離脱時のalertボタンで処...
-
ボタンをクリックすると数が増...
-
同じ型【ハイフンと数字】だけ...
-
正規表現で半角数字1桁のみを全...
-
【Jquery】changeイベント毎にa...
-
【正規表現】【javascript】CR...
-
static constメンバ変数(配列)...
-
関数でy=g(x)のgとは何の略です...
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
アクセス時からのカウントダウ...
-
二次元配列を使って順位をだす...
-
pdfに丸秘などのスタンプを...
-
bt_melter.jsをサイトの一部の...
-
javaScriptのコードの修正をお...
-
JavaScript window.openで開く...
-
C#OpenCv V4にのエラーに関する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Boolean型配列中のTrueの有無を...
-
【正規表現】【javascript】CR...
-
ASP+アクセスでのSQLコメントに...
-
Linux バイナリ実行できない "...
-
Vb.netのグローバル変数の宣言...
-
ボタンをクリックすると数が増...
-
【Jquery】changeイベント毎にa...
-
正規表現で半角数字1桁のみを全...
-
HTTPSのとき":"が"%3A"ではなく...
-
「オブジェクトが必要です。」...
-
onclick指定関数の引数へローカ...
-
同じ型【ハイフンと数字】だけ...
-
Excel VBA の ChangeFileAccess
-
C# .NET DataGridView の行を追...
-
javascriptで文字挿入でtoggle...
-
ifreamをリロードしたい
-
window.onloadでのfunction
-
static constメンバ変数(配列)...
-
MFCのキャプション変更
-
VB6における事前バインディング...
おすすめ情報