※ ユーザーが自由にメモシートのボタンメニューを改良することが可能

[2002/12/10] Nishimura Hiromi

 メモシートにあるボタンメニューをユーザが自由に変更・追加できるよう改良した。新しいメモシートのボタンメニューは下図のようにした。


改良後のボタンメニュー

 ボタンメニューは追加され10個になった。以前と同じよう最初の四つだけは起動時に設定している。メニュープログラムは mcPreferences/Command/MemoSheetMenu に保存している。プログラム例を下記に紹介する。

cal_setMemoSheetMenuButton(1,"閉じる","cal_closeMemoSheet(0);");
cal_setMemoSheetMenuButton(2,"消去","cal_memoAllClear(0);");

com$ = "a = cal_getDocSelectedRange(0);";
com$ = com$ + "if(a[1,2]==0) cal_setDocSelectedAll(0);";
com$ = com$ + "cal_docCopy(0);";
com$ = com$ + "cal_memoPaste(0);";
com$ = com$ + "cal_setDocSelectedRange(a);";
cal_setMemoSheetMenuButton(3,"メモから複写",com$);

com$ = "a = cal_getMemoSelectedRange(0);";
com$ = com$ + "if(a[1,2]==0) cal_setMemoSelectedAll(0);";
com$ = com$ + "cal_memoCopy(0);";
com$ = com$ + "cal_docPaste(0);";
com$ = com$ + "cal_setMemoSelectedRange(a);";
cal_setMemoSheetMenuButton(4,"メモへ転写",com$);

cal_setMemoSheetMenuButton(5,"新聞記事","MemoSheetMenu/menu01.rtf");

com$ = "cal_new(0); cal_setDocSelectedAll(0);";
com$ = com$ + "a = cal_getMemoSelectedRange(0);";
com$ = com$ + "if(a[1,2]==0) cal_setMemoSelectedAll(0);";
com$ = com$ + "cal_memoCopy(0);";
com$ = com$ + "cal_docPaste(0);";
com$ = com$ + "cal_setMemoSelectedRange(a);";

cal_setMemoSheetMenuButton(6,"新規転写",com$);
cal_setMemoSheetMenuButton(7," "," ");
cal_setMemoSheetMenuButton(8," "," ");
cal_setMemoSheetMenuButton(9," "," ");
cal_setMemoSheetMenuButton(10," "," ");

 ボタンメニューの左上にある[新聞記事]ボタンをクリックすると下図のようなメニューに切り替わる。


新聞記事ダウンロード用メニューに切り替った様子

 [新聞記事]ボタンをクリックしたとき menu01.rtf に書かれている下記プログラムが実行され上記図のようなボタンに切り替わる。

cal_setMemoSheetMenuButton(1,"CNNJapan","MemoMenu/CNNJapan.rtf");
cal_setMemoSheetMenuButton(2,"HotWired","MemoMenu/HotWiredJapanNews.rtf");
com$ = "a = cal_getDocSelectedRange(0);";
com$ = com$ + "if(a[1,2]==0) cal_setDocSelectedAll(0);";
com$ = com$ + "cal_docCopy(0);";
com$ = com$ + "cal_memoPaste(0);";
com$ = com$ + "cal_setDocSelectedRange(a);";
cal_setMemoSheetMenuButton(3,"メモから複写",com$);
com$ = "a = cal_getMemoSelectedRange(0);";
com$ = com$ + "if(a[1,2]==0) cal_setMemoSelectedAll(0);";
com$ = com$ + "cal_memoCopy(0);";
com$ = com$ + "cal_docPaste(0);";
com$ = com$ + "cal_setMemoSelectedRange(a);";
cal_setMemoSheetMenuButton(4,"メモへ転写",com$);
cal_setMemoSheetMenuButton(5,"朝日新聞","MemoMenu/朝日新聞.rtf");
cal_setMemoSheetMenuButton(6,"読売新聞","MemoMenu/読売新聞.rtf");
cal_setMemoSheetMenuButton(7,"毎日新聞","MemoMenu/毎日新聞.rtf");
cal_setMemoSheetMenuButton(8,"産経新聞","MemoMenu/産経新聞.rtf");
cal_setMemoSheetMenuButton(9,"東京新聞","MemoMenu/東京新聞.rtf");
cal_setMemoSheetMenuButton(10,"戻る","MemoSheetMenu/mainMenu.rtf");
			
● ボタンメニューはユーザが決める

 以上のようにメモシートにある10個のボタンメニューはユーザが自分で設定することができる。ボタンの数は10個だけだが[新聞記事]ボタンの様に、メニュープログラムの作り方で何倍にもすることができる。