No.2ベストアンサー
- 回答日時:
> もう一つ質問なのですが基本的にCS_HREDRAW CS_VDRAW は付けといた方がいいのでしょうか?
場合によります。
ウィンドウのサイズが小さくなった時に再描画が必要な場合は、CS_HREDRAW
CS_VREDRAW は必要でしょう。
例えば、
・画像ビューアで、ウィンドウのサイズ変更した時に、表示する画像を伸縮表示する場合。
・ウィンドウの右側や下側等に、現在時刻を表示するような場合。
> そのコードでやってみましたが、見た感じやっぱり変化なしです。どいうことなのでしょうか?
WM_PAINTの呼ばれる条件が違う事が確認できると思いますが、コンソールを有効にして、
コンパイルしてみましたか?
そもそも、ソースコードを動かしては見たけど、コード自体は読んでないとか
だったりするのでしょうか。
No.1
- 回答日時:
こちらの環境では、動作が変わるみたいです。
・CS_HREDRAW CS_VDRAW 有効時
ウィンドウのサイズを小さくする時に、クライアント領域全体を再描画す
るように要求される。
ウィンドウサイズを大きくする時に、クライアント領域全体を再描画する
ように要求される。
・CS_HREDRAW CS_VDRAW 無効時
ウィンドウサイズを小さくする時に、WM_PAINTが発生しない。
ウィンドウサイズを大きくする時に、クライアント領域の増えた領域を
再描画するように要求される。
のような結果でした。
以下、例です。
----------------------------------------------------------------------
LRESULT CALLBACK MyWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
RECT rect;
BOOL bErase;
BOOL boResult;
switch (uMsg)
{
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_PAINT:
printf("wm_paint\n");
bErase = FALSE;
boResult = GetUpdateRect(hWnd, &rect, bErase);
if (boResult)
{
printf("updateRect(%ld,%ld,%ld,%ld)\n", rect.left, rect.top
, rect.right, rect.bottom);
}
ValidateRgn(hWnd, NULL);
break;
default:
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
return 0L;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) micropython コードについて 2 2023/06/14 13:13
- その他(プログラミング・Web制作) micropythonコード 修正 1 2023/06/13 17:22
- 数学 ラプラス変換について 3 2022/10/13 22:18
- 環境学・エコロジー これらについて簡単に教えてもらえるとありがたいです 1.土壌中のCsが時間が経つと安定する理由 2. 1 2023/06/04 18:43
- いじめ・人間関係 誹謗〇しょうという言葉 1 2022/05/25 18:43
- docomo(ドコモ) 株式会社ドコモCS関東の店舗はありますか? 検索しても支社しか出て来ません ドコモCSは オンライン 2 2022/10/22 20:36
- 野球 ヤクルトスワローズは 3 2022/09/29 22:49
- Photoshop(フォトショップ) 古いAdobeのライセンスを持っていて、先日までwin10でPhotoshopCSとイラストレーター 2 2022/08/03 13:57
- 化学 混合液のpHの濃度の計算 1 2022/11/08 09:40
- 格安スマホ・SIMフリースマホ UQmobileのメールに詳しい方、教えてください 3 2022/05/31 22:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PCで「使用可能な場合はグラフ...
-
NVIDIAのシェーダーキャッシュ
-
[Win32API]JpegをDIBに変換する
-
OneNote 2010 文字と描画がずれる
-
GetGlyphOutline() ご利用経験...
-
iPhoneアプリで作成したアプリ...
-
Windowのちらつき防止
-
ローディング画面をマルチスレ...
-
InvalidateRectの使い方について
-
WM_PAINT
-
DirectXとGDIの違い
-
VB6,リストボックスの特定行の...
-
パイチャームでグラフを描きたいが
-
Androidのスマホについての質問...
-
テキストボックス 自動スクロ...
-
テクスチャに半透明ポリゴンを...
-
マインクラフト(pc版)で座標...
-
グラフの交点の求め方(Excel)
-
フォントの大きさ
-
ゲームでは結局どっちが良いの?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6,リストボックスの特定行の...
-
[VB.net] DataGridViewの列ヘッ...
-
NVIDIAのシェーダーキャッシュ
-
MFCでOnPaintのタイミング
-
TextBoxに文字を書いても表示さ...
-
word
-
UpdateData( FALSE); による文...
-
VC++プログラムをつかったBMP画...
-
InvalidateRectの使い方について
-
StretchBlt関数について
-
OneNote 2010 文字と描画がずれる
-
C# ラバーバンドの描画を快適に...
-
エクセルでガンチャートを作成...
-
C++にて、塗りつぶされた円を描...
-
VBAにGDI+を参照させる方法
-
MFC DrawText 背景色とフォント
-
GDI+で高速な描画
-
MFCのタイマーのつかい方を教え...
-
Labelの文字をスクロールする際...
-
FlexGridの一部のみ表示を更新...
おすすめ情報