Home   Single Page

コンテキストメニュー

コンポーネント: popup and menupopup.

XULコンポーネントのコンテクストプロパティにpopupやmenupopupコンポーネントのIDを指定できます。そうすることで、popupやmenupopupコンポーネントはユーザーが右クリックするときに開かれます。

以下に記述したように、コンテキストメニューはただ単にIDをコンテキストプロパティに指定することで使用可能になります。また、多数のコンポーネントに同じIDを指定することができます。

<label value="Right Click Me!" context="editPopup"/>
<separator bar="true"/><label value="Right Click Me!" onRightClick="alert(self.value)"/>
<menupopup id="editPopup">
<menuitem label="Undo"/>
<menuitem label="Redo"/>
<menu label="Sort">
        <menupopup>        
     <menuitem label="Sort by Name" autocheck="true"/>    
     <menuitem label="Sort by Date" autocheck="true"/>    
        </menupopup>        
</menu>
</menupopup>

そのIDと関連しているコンポーネントを右クリックするまでmenupopupは参照可能ではありません。

【秘訣】: ブラウザのデフォルトのコンテキストメニューを使用不可にしする場合、存在しないIDをコンテキストプロパティに指定します。

popupコンポーネントはmenupopupより一般的なpopupです。popupの中にどのタイプのコンポーネントも置くことができます。例えば、

<label value="Right Click Me!" context="any"/>

<popup id="any" width="300px">
    <vbox>    
        It can be anything.        
        <toolbarbutton label="ZK" href="http://zk1.sourceforge.net"/>        
    </vbox>    
</popup>