熊「ようやく実装っぽいことが出来るな」


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しています。
IDockingWindowIOleWindowの2つです。ので、こいつらの持つ関数も同時に実装します。


実装する関数たち

これから実装することになる関数たちの一覧です

クラス 関数 説明
IDeskBandGetBandInfoツールバーの背景色やサイズを設定
IDockingWindowShowDWツールバーの表示/非表示時に呼ばれる
CloseDWバツールバーCLOSE時に呼ばれる
ResizeBorderDWborder space has changedな時に呼ばれる
IOleWindow GetWindow ツールバーのWindowハンドルを返す
ContextSensitiveHelp ヘルプ

この6個を実装します。
但し、ResizeBorderDWとContextSensitiveHelpは今回はシカトするので、
実際にはGetBandInfo、ShowDW、CloseDW、GetWindowの4個。

ということで、続きは次回

熊「なんで二部構成?」

なんか長くなりそうな予感がするので


HOME    次へ


コメントスペース