GetClientRectは、ウィンドウのクライアント領域の矩形情報を取得する。
GetClientRect function | Microsoft Docs
GetWindowRectでは、デスクトップ画面の左上を原点とするスクリーン座標だったが、GetClientRectの場合は、左端、上端は0に固定されていて、実質、右端、下端、の数値がサイズ(幅と高さ)も表している。
さて、WM_SIZEも、リサイズ後のクライアント領域のサイズ(幅と高さ)を表していることは以前扱った。
つまり、この2種類の方法で取得した矩形情報は同じ値になるはずである。
WM_SIZEで、
rcWmSizeには、WM_SIZEで渡されたlParamから幅と高さをセットしている。
rcClientは、GetClientRectで取得している。
そのあと、InvalidateRectで画面更新。
WM_PAINTでは、
WM_SIZEで取得したrcWmSizeは、赤で描画。
GetClientRectで取得したrcClientは、青で描画。
起動時、値は一緒。
小さくしても一緒。
再度少し横に広げても一緒、全く同じである。
Sample/winapi/GetClientRect/GetClientRect/src/GetClientRect at master · bg1bgst333/Sample · GitHub