Kuroda Software Service
アプリケーションメニュー
  [サイトマップ]

コンテンツ内メニュー

表示モード 全項表示  部分表示



マークの色と認証の関係

一般公開

無料認証

購入認証


認証についての説明

無料アカウント作成フォーム

有料ページ購入フォーム


ほかのコンテンツトップページ

アプリケーションメニュー

アプリケーションメニューはID="MENU"のTABLEタグで実現できます。

         アプリケーションメニュー

従来のHTMLアプリケーションでは、ごく当たり前のアプリケーションメニューを実現することができませんでした。HTABOXコアは、プロセス内にHTMLアプリケーションインスタンスを生成していますので、アプリケーションメニューをごく自然に追加できます。

● 下記HTMLソースはMenu.htmとして、サンプルフォルダに存在します。

<html>

<head>

<hta:application id="HTA" icon="icon.ico">

<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">

<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">

<title>Menu</title>

</head>

<body>

<table id="MENU">

  <tr>

    <td>終了</td>

    <td>Hello</td>

  </tr>

  <tr>

    <td onclick="window.close()">終了</td>

    <td onclick="hello()">hello</td>

  </tr>

</table>

</body>

</html>

● 下記JScriptソースは、Menu.jsとしてサンプルフォルダに存在します。

var WIN32;

//#define WIN32 //

WIN32 = new ActiveXObject("HTABOX.Application");

WIN32.ScriptFullName = WSH.ScriptFullName;

//#undef WIN32

var DIR = WIN32.GetScriptDirectory();

var HTA  = WIN32.CreateHtaWindow(DIR + "\\menu.htm");

var SCR  = HTA.Script;

var HWND = HTA.FraHwnd;

SCR.WIN32 = WIN32; HTA.BuildMenu();

function hello()

{

    SCR.alert("Hello World");

}

SCR.hello = hello;

HTA.Show(); WIN32.WiteForWindowVisible(HWND);

WIN32.MsgBox("正常終了");

● Menu.jsの解説

アプリケーションメニューは、HTML中にID="MENU"のTABLEタグを記述することで定義します。最初の行(TR)は、ルートメニューの表示文字列として使われ、2行め以降の行(TR)中のセル(TD)がクリックできるメニューとなります。選択された場合の動作は、セルのonclickイベントに記述した関数が呼び出されます。

メニュー定義と認識されたTEBLEタグは、自動的に非表示となりますがTABLEタグにstyle="display:none"を指定しておけばメニュー構築時に一瞬TABLEが表示される現象を抑制できます。

メニューの生成は、HTML側スクリプトへWIN32インスタンスを追加した後に、HTMLアプリケーションインスタンスに対するBuildMenu()関数呼び出しによって行います。

   SCR.WIN32 = WIN32; HTA.BuildMenu();

BuildMenu関数は、HTML中のTABLEからメニューを生成しますが、この動作時にHTML側スクリプト内でWIN32オブジェクトを使用しますので事前に認識させる必要があることに注意してください。

 

お問い合わせ
©クロダ ソフトウェア サービス programmed by hidebou