2

C# で ActiveX ユーザー コントロールを作成しました。その ActiveX コントロールは、Delphi で記述された IE で実行されるレガシー アプリケーション内でホストされます。すべてが機能します。私の唯一の問題は、私をホストしているコントロールのイベント (たとえば、サイズ変更イベント) をサブスクライブする必要があることです。

現在、私はそれを行うことができず、IE ウィンドウのサイズを変更すると、コントロールがSizeChangedイベントを取得しません。親コントロールのイベントをサブスクライブしようとしましたが、親コントロールが null としてリストされています。(Delphiの問題だと思います。)

これを機能させる方法があるかどうかを知りたいです (おそらく実装する必要があるいくつかのインターフェイス?)。

これが私のコントロールのコードの例です:

    [
        ClassInterface(ClassInterfaceType.AutoDispatch),
        ComVisible(true),
        Guid("<some guid>"),
    ]
    public partial class MyActiveXControl : UserControl, IMyInterface
    {

        public MyActiveXControl()
        {
            InitializeComponent();
        }

        #region IScriptViewer Members

        //implement interface

        #endregion

    }
4

1 に答える 1

0

Webページでコントロールサイズを処理するのはどうですか。たとえば、ブラウザのウィンドウサイズ/ Changesを取得してから、制御の範囲を手動で設定します。また、コントロール内のコントロールを再配置する場合は、おそらくコントロールのOnSizeイベントを呼び出します。

于 2010-02-24T12:44:10.673 に答える