回答編集履歴
1
文言を修正
answer
CHANGED
@@ -1,12 +1,12 @@
|
|
1
|
-
提示されているコード
|
1
|
+
メッセージを処理するスレッドとしては提示されているコードでほとんど問題ないレベルまでいってます。惜しいのが render thread.cpp の以下の部分
|
2
2
|
```C++
|
3
3
|
while (GetMessage(&tMsg, hwnd, 0, 0)>0)
|
4
4
|
```
|
5
|
-
これは特定のウィンドウからのメッセージを処理するわけではないので、以下のようになります。
|
5
|
+
で、これは特定のウィンドウからのメッセージを処理するわけではないので、以下のようになります。
|
6
6
|
```C++
|
7
7
|
while (GetMessage(&tMsg, NULL, 0, 0)>0)
|
8
8
|
```
|
9
|
-
この修正だけでスレッド間のメッセージ送受信は
|
9
|
+
この修正だけでスレッド間のメッセージ送受信は可能になります。
|
10
10
|
あとは DWM で処理されている現在では全く問題になりませんが、GetDC はなるべく HDC を使う直前で呼び出すのをお勧めします。DWM 導入以前はウィンドウを動かすとウィンドウのクライアント原点と GetDC した原点が異なるために描画位置がずれる問題がありました。まぁ、今では問題になることはありませんが・・・。
|
11
11
|
|
12
12
|
他にいろいろありますが、デバッグ中に気付くと思いますので割愛します。
|