WM_MEASUREITEM

WM_MEASUREITEMは、コントロールやメニュー作成時にオーナードローの場合に、事前に描画領域の計測が必要な時に発生する。

WM_MEASUREITEM メッセージ (Winuser.h) - Win32 apps | Microsoft Learn

メニューのオーナードローをやってみる。
resource.hで、

こうする。
メニュー項目のリソースIDを追加。
WM_MEASUREITEM.rcは、

こうする。
こちらではメニュー項目の追加はしていない。
オーナードローの場合は、動的に追加する必要がある。
WM_MEASUREITEM.cppは、

こうする。
WM_MEASUREITEMが来た時、今回適当にメニュー項目のサイズを横200縦50にしてる。
WM_DRAWITEMが来た時、フォントを明朝にして大きさも変えてる。

こうなる。
こうなる

こうなる

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