PR
Keyword Search
Calendar
ホームズ探偵さんComments
Freepage List
たまには、プログラミングの話題を。。
このところ調べもので、com->ole->activexと順に勉強してきたのですが、activexをsdk的に処理を行うと結構大変だったりします。comインタフェースだけなら、たとえばcomインタフェースなら
1)インスタンスの生成、
2)オブジェクトポインタの取得3)関数呼び出し
4)オブジェクトの破棄
というような手続きで比較的簡単におこなえます。(まあ、多少面倒ですが。。)
activexを使用する場合は、mfcを使用すると圧倒的に簡単に行えます。mfcにactivexの組み込みは、大きく2通りあります。
その1)
タイプライブラリからラッパークラスを生成する。
ウィンドウの適当な処理(initDialog()あたりかCreate()あたり)でラッパークラスのインスタンスを生成、生成したインスタンスのCreate()メソッドを呼び出す。あとは、ラッパークラスのメソッドを使用してActiveXの操作を行う。
その2)
ツールボックスにActiveXのコントロールを追加する。
追加したコントロールをIDEの機能を利用してダイアログ(たぶんフォームでも同じ)に貼り付け適当な大きさと位置を設定する。
貼り付けたコントロールに変数を割り付ける。(この時ラッパークラスが自動で生成されます。)
こうするとActiveXが静的なコントロールとしてリソースから生成と破棄が自動で行われます。
その1は、ActiveXのコントロールを動的に生成したい場合、その2は静的に初めから組み込まれている状態となります。