PostMessage

2018/07/03

PostMessageは、ウィンドウメッセージを送信するWindowsAPI・・・。

PostMessage 関数

渡す引数などはSendMessageと変わらないが、こちらは送信したウィンドウメッセージに対する処理の完了を待たずに次の処理へ進むのが特徴・・・。

SendMessageの時とは処理順が変わるのを確認する・・・。

Button1(ID_BUTTON1)が押された時、

PostMessageでWM_LBUTTONDOWNを送信し、そのあとRectangleで矩形(80, 60, 240, 180)を描画する・・・。

WM_LBUTTONDOWNでの処理は、

Rectangleで矩形(0, 0, 160, 120)を描画するということになっている・・・。

さて、どちらが先に描画されるのか・・・。

f:id:BG1:20150903110541p:plain

Item1-1で、

f:id:BG1:20150903110559p:plain

Button1を押すと、

f:id:BG1:20150903110627p:plain

矩形(0, 0, 160, 120)が上になっている・・・。
つまり、矩形(80, 60, 240, 180)を描画してから、矩形(0, 0, 160, 120)を描画している・・・。

PostMessageが送信先の処理を待たないことがわかる・・・。

Sample/PostMessage.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/PostMessage.rc at master · bg1bgst333/Sample · GitHub