none
HTMLページをスクロールしたときに MFC ActiveX コントロールが正しく描画されない対策の妥当性について RRS feed

  • 質問

  •  

    HTMLページをスクロールしたときに MFC ActiveX コントロールが正しく描画されない件は、

    <http://support.microsoft.com/kb/233391/en-us>で既知の問題として取り上げられています。

     

    回避策(workaround)の2つ目に記述されているように、

    BOOL CmfcaxCtrl:SurprisenSetObjectRects(LPCRECT lpRectPos, LPCRECT lpRectClip)
    {

        return TRUE;

    }

     

    と施しても何も解決できなかったため、

    BOOL CmfcaxCtrl:SurprisenSetObjectRects(LPCRECT lpRectPos, LPCRECT lpRectClip)
    {

        HWND hwnd;

        // コンテナのウィンドウハンドルを取得

        if (m_pInPlaceSite != NULL) {

            m_pInPlaceSite->GetWindow(&hwnd);

        }

     

        InvalidateRect(hwnd, NULL, TRUE);

        UpdateWindow(hwnd);

        return TRUE;

    }

     

    上記のようにコンテナを描画させることで、HTMLページをスクロールしても描画が正しく行われるようになりました。

     

    この対策によるコンテナへの影響度、修正の妥当性などご存知の方はお知らせ下さい。

    2008年12月3日 6:06