VB6を使用すると、AutoRedrawがtrueの場合にForm_Paintが呼び出されないことを認識しています。
Form_Paintで呼び出された場合にのみ一貫して機能するコードがいくつかあります。
このコード(MDIプロジェクトで機能)は、GetMenu()API呼び出しを介して、親で現在アクティブなメニューへのハンドルを取得します。Form_Paintで呼び出されない場合、呼び出しは古いメニューハンドルを返すことがあります。
私のフォームの1つにAutoRedraw=trueがあります。Form_ActivateでGetMenu(parent.hWnd)を試しましたが、これは早すぎます。
また、WindowProcをオーバーライドして、Form_ActivateからWM_USERメッセージを送信してみました。これは改善ですが、それでも十分な一貫性はありません。
子フォームのライフサイクルの後半で、GetMenu(parent.hWnd)をどのように呼び出しますか?