Click here to visit our sponsor

Menu Control

非常に手抜きなページになっていますので、
まず説明書に目を通してください・・・


Menu Control について

このコンポーネント(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 引数で指定します。


TrayEr Control

HOME

兄弟ページ 姉妹ページ
Click here to visit our sponsor