SelectClipRgnを使うことで、指定のデバイスコンテキストの描画領域を、指定されたリージョンの部分のみにできる。
SelectClipRgn function (wingdi.h) - Win32 apps | Microsoft Docs
楕円と矩形を結合したリージョンを選択すれば、画像を描画しても結合したリージョンの形に描画される。
(こういうのをクリッピングという。)
WM_CREATEで、
ビットマップのロードとともに、矩形リージョンと楕円リージョンを結合。
WM_PAINTで、
SelectClipRgnでhDCにhRgn1を選択。
これでhDCに描画したものはhRgn1の領域からはみ出ない。
BitBltで画像をhDCに描画すると、
リージョンのところだけ画像が描画される。
Sample/winapi/SelectClipRgn/SelectClipRgn/src/SelectClipRgn at master · bg1bgst333/Sample · GitHub