[サイトTop] [As/R Top] [ヘルプTop] [戻る]

リンクバーを作ってみる

 個人的にリンクバーって大嫌いです。
 私は、どんなアプリケーションでも、最初に消してます。

 まぁ、個人の好き嫌いは棚の上に置いておきますが、リンクバーに相当するものも作ることが可能です。
 というわけで、幾つかのケースをチョイスしてみたいと思います。

 難易度はさほどでもないのですが、総合的な知識が必要なので難易度は高めと設定しています。
 逆の言い方をすると、このページをマスターすると、As/Rのカスタマイズの難しいところが、ほとんど網羅できていると言って差し支えないでしょう。
 (EXE作るとか、DLL作るとか、そういった無茶振りなカスタマイズは棚上げします)


コマンドIDの作成

 あまり順番にはこだわりがないのですが、まずコマンドIDから作りましょう。
 オプションのインターフェイス→コマンド定義画面を開き、定義ファイルの編集方法を「簡易設定ダイアログを開く」を選択して、「ユーザーメニューコマンド」を押します。

 そうすると、こんな画面が表示されるので、IDとコマンドの内容をドンドコ登録していきます。
※追加ボタンを押して設定行を増やし、カーソルで選択して項目を登録していきます。

ID:41481
データ連携方法:チェック全て無し
コマンドの呼び出し条件:チェック全て無し
コマンドライン:%Menu_dir%drivec.txt
説明:C:\からの階層メニュー

ID:41482
データ連携方法:チェック全て無し
コマンドの呼び出し条件:チェック全て無し
コマンドライン:%Menu_dir%drived.txt
説明:D:\からの階層メニュー

ID:41483
データ連携方法:チェック全て無し
コマンドの呼び出し条件:チェック全て無し
コマンドライン:%Menu_dir%_ViewMode.txt
説明:ビューモード切替

 ここまでできたら、メインメニューの「ツール」→「環境設定」→「コマンド定義ファイルの再読み込み」コマンドを実行するか、As/Rを一度再起動してください。
 これで、As/Rが新しいコマンドが登録されたことを認識します。
 余談ですが「%Menu_dir%」はユーザー情報の管理ディレクトリの下のMenuディレクトリに置換される、置換マクロというものです。
 どこのディレクトリに置いても良いのですが、他のPCへ引越しとかする場合など、As/R関連のディレクトリはまとめておいた方が良いでしょ?ということでこういった環境変数のような置換マクロが複数用意されています。
 OSの環境変数とか、この手の置換マクロはいっぱいあるので、詳しく知りたい場合はヘルプのカスタマイズの章を参照してください。



ユーザー定義ツールバーの作成

 次に「ユーザー定義ツールバー」を追加します。
 「ユーザー定義バー」と語呂が似てるので混同しないでくださいね。

 メインメニューの「表示」→「ツールバーとドッキングウィンドウ」→「カスタマイズ」を選択します。
 そうすると以下の様な画面が開かれるので、「ツールバー」タブを開いて、「新規作成」ボタンを押し、「リンク」と入力してチェックボックスにチェックを入れてください。


 チェックを付けると、こんな感じの小さなウィンドウが表示されます。

 これが、新しく作られたツールバーの土台で、ここにリンクバーのコマンドを置いていく事になります。
 タイトルバーを掴んで、As/Rの画面の端っこにドラッグするとウィンドウに貼り付けることができます。

 次に、実際にコマンドを置いていきます。
 先ほどの画面の「コマンドタブ」を選択します。
 分類の中から「初期メニューにないコマンド」を選択します。
 ずっとスクロールさせていくと「ユーザー定義メニューxxxxx」(xxxxxはコマンドIDの数字)というのがありますので、これらを表示させます。
 で、このコマンドをドラッグアンドドロップで、新規作成したツールバー上に並べていきます。
 ツールバー上の並び順も、ドラッグアンドドロップで並び替えができます。
※この設定画面を閉じてしまった場合は、Alt+ドラッグアンドドロップでいつでも並び替えられます。

 先ほど登録しておいた、41481、41482、41483のコマンドを配置していきます。

※バー上に配置できるユーザー定義メニュー系のコマンドは最大で20個です。
 数千個まで増やすことは簡単なのですが、載せれば載せただけ本体サイズが肥大化していきます。
 まぁ20個もあればたいていの用途には十分でしょ、あまり多いと画面からはみ出すし・・・という根拠で20個に制限してます。


 そうそう、他の画面でも説明していますが、このコマンドの表示文言を変更するには、先ほど41481、41482、41483を配置した「リンク」バー上で右クリックメニューを表示させ、「ボタンの外観」ダイアログで変更ができます。

 ツールバーなので、画像の表示も可能ですし、テキストだけの表示にもカスタマイズ可能です。
 というわけで、それぞれのコマンドに名前をつけます。

ユーザー定義メニュー41481→Cのドライブルートからたどってジャンプ
ユーザー定義メニュー41481→Dのドライブルートから選択したアイテムをシェル実行
ユーザー定義メニュー41482→ビューモード切り替え

 こんなふうに名前を変えました。
 で、カスタマイズ画面を閉じれば、「リンク」バーの土台が完成です。
 この後は、ユーザー定義メニューコマンドを作っていくことになります。

 これで、新しいユーザー定義ツールバーができました。
 「ビューモード切り替え」は既存のメニュー定義ファイルを呼び出していますので、試しに押してみてください。
 通常はリストの左下の方にある、表示モードを切り替えるためのメニューが表示されるかと思います。



メニュー定義ファイルの作成

 で、最終段階です。
 コツさえ分かれば大したことないのですが、ちょっと複雑です。
 ユーザーディレクトリの下のMenuディレクトリの下に2個ファイルを作ります。
 ※ユーザーディレクトリは、オプションのその他→起動制御→「現在のユーザー情報の管理ディレクトリを開く」で開くこともできます。
 <ユーザーディレクトリ>\Menu\drivec.txt
 <ユーザーディレクトリ>\Menu\drived.txt

 このディレクトリには、各種のメニュー定義ファイルが大量に存在してます。
 これはオリジナルメニューを作りたい場合はどうぞというモノなんですね。

 んじゃま、このファイルを編集していきます。
 オプションのインターフェイス→メニュー定義から簡易設定ダイアログを開くとメニューエディタが表示されますが、今回は直接メニュー定義ファイルを編集してみたいと思います。
 保存する時の文字コードは必ずUNICODEで、コマンドとテキスト間はタブ区切りであることに注意してください。
 動かないよ!という場合の多くが文字コードが間違っているか、タブ文字を使ってない場合がほとんどです。

drivec.txt

★Cドライブからの階層化メニュー
DIR_SCRIPT	%Script_dir%JUMP.txt
POSITION	MOUSE
DIR_UP	OFF
HIDDEN_ITEM 	OFF
DIR_FOLDER	ON
DIR_FILE	OFF
DIRECTORY	C:\

drived.txt

★Dドライブからの階層化メニュー
DIR_SCRIPT	%Script_dir%OPEN.txt
POSITION	MOUSE
DIR_UP	OFF
HIDDEN_ITEM 	OFF
DIR_FOLDER	OFF
DIR_FILE	ON
DIRECTORY	D:\

順番に動作を説明しますと
DIR_SCRIPT・・・メニューで選択した時に呼び出すスクリプトコマンド、%Script_dir%は<ユーザーディレクトリ>\Script\で、この後出てきます。
POSITION・・・ポップアップメニューを表示させる位置の指定で、今回は「MOUSE」でマウスの位置に表示しろという命令です。
DIR_UP・・・上位階層への参照である「..」を表示させるか否かを設定します。今回はOFFです。
HIDDEN_ITEM・・・隠し属性を持つファイルやフォルダーを表示するかを指定します。今回はOFFです。
DIR_FOLDER・・・メニューでフォルダーを選択する項目である[.Select Folder]を表示するかの設定です。Cはフォルダ選択なのでON、Dは実行なのでOFFにします。
DIR_FILE・・・メニューに「ファイル」を含めるか否かの設定です。Cはフォルダ選択なのでOFF、Dは実行なのでONにします。
DIRECTORY・・・メニューのトップディレクトリです。

 この辺りは綴りや選択肢は覚えて無くても、上記の簡易設定ダイアログで選択できるようにしています。
 ちょっと手抜きで、画面のメッセージが全部英語ですが、簡単な言い回ししかないのでご安心ください。作者は英語が超苦手です。

 ここまでできたら、ツールバーのボタンを押してみましょうか。
 フォルダーやファイルが選択でき、スクリプトが無い旨のエラーメッセージが出たら成功です。
 あとフォルダの選択は少々癖がありまして、下位階層なのか、そのフォルダなのか曖昧になるので[.Select Folder]を選択したら、そのフォルダを選択したと見なされます。



メニューから呼び出されるスクリプトファイルの作成

 ユーザーディレクトリの下のScriptディレクトリの下に2個ファイルを作ります。
 ※ユーザーディレクトリは、オプションのその他→起動制御→「現在のユーザー情報の管理ディレクトリを開く」で開くこともできます。
 <ユーザーディレクトリ>\Script\JUMP.txt
 <ユーザーディレクトリ>\Script\OPEN.txt

 んじゃま、このファイルを編集していきます。
 例によって、保存する時の文字コードは必ずUNICODEですので注意してください。
 あと、このスクリプトは正解が何通りもあるので、ご自由に組んでみてください。
 ちなみにこれ、バーにドラッグアンドドロップして作成したテンプレートを元に、パラメータをいじって、forループを追記して作成したものです。

JUMP.txt

for
	CommandLineOption=
	MultiCommandMode=0
	ShiftSilentMode=0
	BootDir=
	BootMode=0
	OpenMode=2
	Shell=?selfile?
next

OPEN.txt

for
	CommandLineOption=
	MultiCommandMode=0
	ShiftSilentMode=0
	BootDir=
	BootMode=0
	OpenMode=1
	Shell=?selfile?
next


 As/Rのカスタマイズでの難易度がやや高めである項目の、ユーザー定義ツールバー、コマンド定義ファイル、メニュー定義、スクリプトと、4つもあるので上級者向けのカテゴリに分類しちゃってます。
 ただ、これって複数の機能を単純に組み合わせているだけなんですよね。
 慣れれば決して難しくないシロモノなんで、意欲がある方は挑戦してみていただければと思います。