非常に手抜きなページになっていますので、
まず説明書に目を通してください・・・
このコンポーネント(TrayEr.ocx)には、2つのコントロールが含まれます。
ここでは、その1つである Menu Control にていて、
また HTA での使用についての情報を記します。
(サンプルコードは JScript で記述しています)
HTA で、右クリックで出すメニューとして使う方法です。
まず、メニューを表示させる関数を用意します。
function MyPopup()
{
MenuCtrl.Popup(window.event.x, window.event.y);
return false; // 元のメニューを出さない
}
次に、コンテキストメニューを出すハンドラを、自前の関数に置き換えます。
document.oncontextmenu = MyPopup;
これで、右クリックメニューをすりかえられます。
HTA など、メニューバーが使えないコンテナでの使用を前提としています。
この機能を使うには、Tray Control もロードして下さい。
登録するメニューのインスタンスをそれぞれ生成しておきます。
TrayCtrl.AddMenu(MenuFileCtrl, "ファイル(&F)");
TrayCtrl.AddMenu(MenuEditCtrl, "編集(&E)");
コンテナに追加したメニューが選択された時、イベントが発生します。
イベントは、メニューが 選択される直前 と 選択後 の2つあります。
ただし、このイベントを発生させるには、
Tray Control の Contained プロパティを有効にする必要があります。
(Tray Control ページの Contained プロパティの項目を参照して下さい)
Tray Control の Contained プロパティを無効にしていると、
コンテナにメニューを追加しても、メニューバーをすぐには描写しません。
(ただし、コンテナがリサイズされると表示されます)Contained プロパティを有効にすると、メニューバーを描写します。
これは、メニューがだらだらと追加表示されていくのを、見えない様にするためです。
通常、メニューの追加タイミングが、コンテナの起動時であるとこを考慮しました。
Contained プロパティを無効で起動
↓ ↓
メニューを追加 (表示なし)
↓ ↓Contained プロパティを有効にする (表示)
メニューにチェックを持たせた項目があり、その項目が選択された時に、
チェックの付け外しをコントロールが自動的に行う機能です。
AddItem メソッドの Toggle 引数で指定します。