「ようやく実装っぽいことが出来るな」
IDeskBandを実装する(前説編)
IEが認識してくれるようなツールバーを作るには、IDeskBandとIObjectWithSiteを実装する必要があります。
この2つのインターフェースを実装しておけば、IEがいい感じにそれを呼び出してくれるようです。
詳しい説明は、ここが一番わかりやすかった。
http://www.eva-01.jp/wiki/pukiwiki.php?IE%A5%C4%A1%BC%A5%EB%A5%D0%A1%BC
「確かにうちより分かりやすいな」
ほっといてください
IDeskBandとは
IObjectWithSiteはIObjectWithSiteImplを使えば勝手に実装されてるの使えるので、
IDeskBandだけ実装すればとりあえず動きます。
IDeskBandは、ツールバーの高さや背景色なんかを設定したり、
SHOWする時とかCLOSEする時の挙動を書いておくところです。
だいぶ大雑把な説明ですが・・・・
あと、先に挙げた参考サイトに書いてありましたが、IDeskBandは2つの抽象クラスをimplementsしています。
IDockingWindow
と
IOleWindow
の2つです。ので、こいつらの持つ関数も同時に実装します。
実装する関数たち
これから実装することになる関数たちの一覧です
クラス
関数
説明
IDeskBand
GetBandInfo
ツールバーの背景色やサイズを設定
IDockingWindow
ShowDW
ツールバーの表示/非表示時に呼ばれる
CloseDW
バツールバーCLOSE時に呼ばれる
ResizeBorderDW
border space has changedな時に呼ばれる
IOleWindow
GetWindow
ツールバーのWindowハンドルを返す
ContextSensitiveHelp
ヘルプ
この6個を実装します。
但し、ResizeBorderDWとContextSensitiveHelpは今回はシカトするので、
実際にはGetBandInfo、ShowDW、CloseDW、GetWindowの4個。
ということで、続きは次回
「なんで二部構成?」
なんか長くなりそうな予感がするので
HOME
次へ
コメントスペース