0

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

我有一些代码只有在 Form_Paint 中调用时才能始终如一地工作。

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

我的一种形式有 AutoRedraw = true。我已经在 Form_Activate 中尝试过 GetMenu(parent.hWnd),但这为时过早。

我也尝试过覆盖 WindowProc 并从 Form_Activate 发送 WM_USER 消息。这是一个改进,但仍然不够一致。

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

4

1 回答 1

0

您可以尝试使用GotFocus事件。它在Activated事件之后和Paint事件之前。

于 2012-11-02T20:35:07.170 回答