メニューをその一部として表示するwxWidgetsでカスタムコントロールを作成しており、現在Windows側で作業しています。wxWidgets には、メニューの幅を設定する方法がありません。ウィンドウを最長の文字列に両側に数ピクセルを加えた幅にするだけです。
API には、実際の Windows API メニュー ハンドルを取得する方法があります。Windows API には、文字列の幅に基づいて独自に計算する以外に、メニューの幅を設定する方法がありますか?
(1) WM_DRAWITEM (2) HDC (3)WindowFromDC() を取得すると、メニューの外観を任意に調整できます。注: WM_QUIT WM_CLOSE をメニューに送信しないでください。そうしないと、手がかりもなくコンピューターを効果的にシャットダウンしてしまいます。
WM_MEASUREITEM とは関係ありません
内部の win32 メニュー メッセージを使用するだけです
(Win32 FAQ : news://comp.os.ms-windows.programmer.win32)