teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

文言を修正

2018/12/19 16:25

投稿

atata0319
atata0319

スコア881

answer CHANGED
@@ -1,12 +1,12 @@
1
- 提示されているコードはかり惜しところまでいってます。render thread.cpp の以下の部分
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
  他にいろいろありますが、デバッグ中に気付くと思いますので割愛します。