VB6中的Form_绘制和自动重绘

VB6中的Form_绘制和自动重绘,vb6,Vb6,使用VB6,我知道如果AutoRedraw为true,则不会调用Form_Paint 我有一些代码,只有在Form_Paint中调用时才能持续工作 此代码(在MDI项目中工作)通过GetMenu()API调用获取父级上当前活动菜单的句柄。如果未在Form_Paint中调用,调用有时会返回旧的菜单句柄 我的一个表单的AutoRedraw=true。我已经尝试过在Form_Activate中使用GetMenu(parent.hWnd),但这太早了 我还尝试重写WindowProc并从Form\u A

使用VB6,我知道如果AutoRedraw为true,则不会调用Form_Paint

我有一些代码,只有在Form_Paint中调用时才能持续工作

此代码(在MDI项目中工作)通过GetMenu()API调用获取父级上当前活动菜单的句柄。如果未在Form_Paint中调用,调用有时会返回旧的菜单句柄

我的一个表单的AutoRedraw=true。我已经尝试过在Form_Activate中使用GetMenu(parent.hWnd),但这太早了

我还尝试重写WindowProc并从Form\u Activate发送WM\u用户消息。这是一个进步,但仍然不够一致


在其子窗体的生命周期中,如何调用GetMenu(parent.hWnd)?

您可以尝试使用GotFocus事件。它在激活事件之后和绘制事件之前下降