GUI拡張機能

Q
PopupMenuメソッドを利用した右クリックメニューの実装  
A
Biz/Browser V から、DisplayObjectクラスのPopupMenuメソッドやRootクラスのSetMenuメソッドの機能が拡張されより自由にメニュー表示を行うことが出来るようになりました。
Biz/Browser XE以前のバージョンではBiz/Browser自体で固定に表示していた右クリックメニューは無くなり自在に実装して表示させられるようになっています。

以下はPopupMenuメソッドを利用してBiz/Browser XE以前に固定で表示されていた右クリックメニューを実装したサンプルソースです。

[サンプルコード]
※<★>部分は1行で記述してください。  
Form Gui50_004 {
・・・・・・ (略)
 /* idとプリント名格納用 */
 array p_list;
 
 Function OnRClicked( e ) {
  /* id */
  var p_id = "";
  /* プリント名 */
  var p_name = "";
  
  /* プリンタの情報を取得 */
  var plist = getPrinterList();
  
  /* XMLデータ(右クリック表示メニュー)を作成 */
  var xml_txt = "<?xml version=\"1.0\" encoding=\"SHIFT_JIS\"?>
            <menudefine>
            <menuitem id=\"1\" title=\"ログイン\" />
            <menuitem id=\"2\" title=\"プリンタの選択\">";
  
  /* 取得したプリンタ分メニューを作成 */
  for( var n = 0; n < plist.length; n++ ) {
    /* id作成 */
    p_id = "2" +str(n+1);
    /* プリント名取得 */
    p_name = plist[n].printerName;
    
    if(plist[n].defaultPrinter == 1){
    ★ xml_txt += 
      "<menuitem id=\""+p_id +"\" title=\""+p_name+"\" 
                                             checked=\"true\" />\n";
    }else{
    ★ xml_txt +=
      "<menuitem id=\""+p_id +"\" title=\""+p_name+"\" \/>\n";
    }
    p_list[p_id] = p_name;
  }
  xml_txt += "</menuitem>
          <separator />
          <menuitem id=\"3\" title=\"環境設定\">
            <menuitem id=\"31\" title=\"キャッシュ\" />
          </menuitem>
          <menuitem id=\"4\" title=\"バージョン設定\" />
        </menudefine>";
  
  var domimpl = new xmlDOMImplementation;
  var dom = domimpl.parse(xml_txt);  
  
  /* XMLデータをpopupMenuへセット */
  var id = popupMenu(dom);
  
  if(id == 1){
    /* ログイン画面表示 */
    //.login();
  }else if(id > 20 && id < 30 ){
    /* クリックされたプリンタをデフォルトプリンタへ設定 */
    setDefaultPrinter( p_list[id] );
  }else if(id == 31){
    try {
      /* キャッシュダイアログを表示 */
      //.CacheSetup();
    }
    catch(exp) {
      //.MessageBox("エラーが発生しました。Biz/Browserを終了します。");
      //.Delete();
    }
  }else if(id == 4){
    /* バージョン情報を表示 */
    ★MessageBox("Biz-Collections " + 
                     //.SYS.CLIENT+ "     \n         Version "+ 
                        Str(//.SYS.CLIENT_VERSION,"9.9.9.9") ,
                                            "バージョン", $OK );
    return;
  }
 }
}

実際の挙動については、CRSファイル形式のサンプル
   「PopupMenuメソッドを利用した右クリックメニューの実装(Gui50_004.zip)」
をご確認ください。

管理番号:Gui50_004
 
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser V・Biz/Designer V TIPS集 トップへ