WM_SIZE

WM_SIZEは、ウィンドウがリサイズされた時に発生するウィンドウメッセージ・・・。

WM_SIZE message (Windows)

LOWORD(lParam)で変更後のウィンドウのクライアント領域の幅、HIWORD(lParam)で変更後のウィンドウのクライアント領域の高さが取得できる・・・。

スタティック変数width, heightを用意・・・。

WM_SIZEで、LOWORD(lParam)をwidthに、HIWORD(lParam)をheightに格納し、InvalidateRectで画面を更新・・・。

WM_PAINTでは、MoveToExとLineToを使って、クライアント領域の座標(0, 0)から(width, height)までの対角線(正確には座標(width, height)を含まない)を引いている・・・。

f:id:BG1:20151124110353p:plain

最初はこのような対角線・・・。
ウィンドウを横長にリサイズすると、

f:id:BG1:20151124110430p:plain

対角線がウィンドウのクライアント領域の幅と高さに合わせて追随する・・・。
縦長でも、

f:id:BG1:20151124110510p:plain

追随する・・・。

Sample/WM_SIZE.cpp at master · bg1bgst333/Sample · GitHub