GetWindowRect

GetWindowRectは、ウィンドウの矩形情報(位置情報やサイズ)を取得する。

GetWindowRect function | Microsoft Docs

WindowProcのWM_MOVE、WM_SIZEで、

GetWindowRectで、スタティックなRECT構造体rcWndにウィンドウの矩形情報を格納する。
デスクトップ画面の左上を原点とするスクリーン座標で左端、上端、右端、下端、の位置が格納される。
そのあとに、InvalidateRectで画面を更新。

WM_PAINTは、

テキストは赤にして、各メンバを文字列に変換して、TextOutで描画している。
InvalidateRectのたびに呼び出されるので、ウィンドウを動かしたり、ウィンドウをリサイズするたびに値が反映される。

実行直後
実行直後

実行直後にこうだとして、ウィンドウを左上に移動させると、

左上に移動
左上に移動

左上が原点なので、全体的に数値は小さくなる。

右下に拡大
右下に拡大

右下に引っ張って、ウィンドウを大きくすると、leftとtopは変わらないが、rightとbottomは大きくなる。

少し右に移動
少し右に移動

少し右に移動すると、leftとrightが少し増える。

Sample/winapi/GetWindowRect/GetWindowRect/src/GetWindowRect at master · bg1bgst333/Sample · GitHub