none
WebBrowser+ActiveX(EditBox)で文字化け RRS feed

  • 質問

  • こんにちは、こんぺいとーです。

     

    以下のようなプログラムを作成したのですが、エディットボックスで全角文字を入力すると文字が化けてしまいます。

    (Windows XP SP2 日本語)

     

    ・VS2005 C# のForm上に WebBrowserを配置します。

    ・WebBrowerのNavigateメソッドを使って、ActiveXコントロール(<OBJECT>タグ)のあるHTMLページにアクセスします。

    ・ActiveXはVC6+ATL(フルコントロール)で作成しています。(UNICODEでリビルドしています。)

    ・ActiveXからモードレスダイアログを表示します。

    ・モードレスダイアログ上にエディットボックスを配置しています。

     

    ActiveXをVS2005 C++で作成しても現象は変わりませんでした。

     

    ちなみに、Internet Explorer上で動作させると文字化けしません。

     

    2007年10月4日 13:30

回答

  • 自己レスです。

     

    ActiveX はコンテナのメッセージポンプを利用するので

    モードレスダイアログも同じとなるみたいです。

     

    しかし、コンテナが IsDialogMessage を処理しているかは不明なので

    結果として、モードレスダイアログでフック処理を実装することにより解決しました。

     

    IE または Visual Studio .NET 2003 (C#) では OK で

    Visual Studio 2005 (C#) だけ NG な点は不明ですが...。

     

     

     

    2007年10月17日 6:20