右クリックメニュー

基礎知識

右クリックメニューはOpenLaszloではコンテキストメニューと呼ばれます。

  • コンテキストメニューのオブジェクト
LzContextMenuコンテキストメニュー本体。メニューアイテムの入れ物。メニューオープン時にonmemuopenイベントを送信する。
LzContextMenuItemコンテキストメニュー内のメニューアイテム。
  • 関連メソッド
メソッドオブジェクト内容
setDefaultContextMenu()<canvas>canvas上に設定される右クリックメニュー。すべてのビューに対するデフォルトメニューになる。
addItem()LzContextMenuメニューアイテムをメニューに追加。
clearItems()LzContextMenuすべてのカスタムアイテムをメニューから削除。
getItems()LzContextMenuカスタムアイテムの一覧リストを取得。
hideBuiltInItems()LzContextMenuFlashのデフォルトメニューアイテムを削除する。
makeMenuItem()LzContextMenuメニューアイテムを新規作成する。
setDelegate()LzContextMenuメニューオープン時にコールされるデリゲートを指定。
showBuiltInItems()LzContextMenuFlashのデフォルトメニューアイテムを表示する。
getCaption()LzContextMenuItem表示されているメニューアイテム名を取得。
setCaption()LzContextMenuItem表示するメニューアイテム名を設定。
setDelegate()LzContextMenuItemメニューアイテム選択時にコールされるデリゲートを指定。
setEnabled()LzContextMenuItemメニューアイテムの有効・無効。無効時はグレーアウトになってクリックに反応しない。
setSeparatorBefore()LzContextMenuItem 区切り線を表示。
setVisible()LzContextMenuItemメニューアイテムの可視・不可視を設定。
setContextMenu()<view>メニューアイテムをビューに実装(ひもづけ)する。

基本形その1

下記の四角の上で右クリックしてください。「右クリックテスト」というメニューが出ます。

この内容を表示するためには Adobe Flash Plugin が必要です。

<?xml version="1.0" encoding="UTF-8"?>
<canvas proxied="false" bgcolor="0xeeeeee"> 
  <handler name="oninit">
    // メニュー生成
    var cm = new LzContextMenu(); 
 
    // メニューアイテム生成
    var item = cm.makeMenuItem("右クリックテスト",new LzDelegate(this,"dispText")); 
    cm.addItem(item); 
 
    // 生成内容をビューに反映
    this.setContextMenu(cm);
  </handler>
  <method name="dispText">
    txt.addText("右クリックテスト実行" + "\n");
  </method>
  <text id="txt" multiline="true"/>
</canvas>

基本形その2

メニューを選択したときに、それぞれの引数データをメソッドに渡します。

この内容を表示するためには Adobe Flash Plugin が必要です。

<?xml version="1.0" encoding="UTF-8"?>
<canvas proxied="false" bgcolor="0xeeeeee"> 
  <handler name="oninit">
      var cm = new LzContextMenu();
      var del = new LzDelegate(this, "dispText");
 
      var item1 = cm.makeMenuItem("メニュー:1", del);
      item1.value = "1";
      cm.addItem(item1);
 
      var item2 = cm.makeMenuItem("メニュー:2", del);
      item2.value = "2";
      cm.addItem(item2);
 
      var item3 = cm.makeMenuItem("メニュー:3", del);
      item3.value = "3";
      cm.addItem(item3);
 
      this.setContextMenu(cm);
  </handler>
  <method name="dispText" args="d">
    txt.addText(d.value + "が選択されました" + "\n");
  </method>
  <text id="txt" multiline="true"/>
</canvas>

右クリックメニューを隠す

デフォルトだと、Flashの画面上で右クリックしたときにOpenLaszloのメニューが表示されます。

  • SOLOモードの場合:(少なくともOpenLaszloで作ったのがバレます)

  • プロキシモードの場合:(OpenLaszloで作ったのがバレるし、ソースを読まれてしまいます)

赤で囲ったOpenLaszlo固有のメニューを表示しないようにするには、下記のコードを<canvas>直下に記述すればOKです。

<script>
  canvas.setDefaultContextMenu(new LzContextMenu()); 
</script>
  • 対策後の右クリックメニュー

コンテキスト_右クリック_メニュー.txt · 最終更新: 2009/10/18 03:36 (外部編集)
Copyright © 2008~ずっと ason(minamotonoason@gmail.com)

chuumap 中小企業ツイッターマップ 製造、加工、卸などB2B主体の個人事業者、中小企業のツイッターを、グーグルマップの住所の位置に正確に表示。
tentwi 店舗でツイート 飲食店、販売店など、一般消費者向けの店舗を構えるお店ツイッターを、グーグルマップの住所の位置に正確に表示。
廃句ったー あなたのツイッターの最近のツイートから廃句もとい俳句を生成。
みかけったー 超人気!あなたのツイッターの最近のツイートからみかけの年齢と性別を診断。
キキキーったー 最近のツイートからキーの使用回数をしらべます。
SLOTTER(すろったー) あなたのツイッターのタイムラインのアイコンでスロット。FLASHゲーム。
MultiLangTweet 一度に48ヶ国語に翻訳してツイート。
英訳ったー 英訳または日本語訳してツイート。
バンドメンバー募集サイト シンプルなバンドメンバー募集サイト。
CMS総合デモサイト 有名オープンソースCMS、EC、SNS、Wikiを一度に全部体験できる総合デモサイト
ビズロック BizRock(ビズロック)~音楽ライブでプレゼン!情熱型ビジネス交流会