'L_MnuChg.mac / キー設定ファイルを読込む / by Kabuneko 99/08/11 proc main dim file$, a$, l$, s$, sel, count, done, i, n, dim item$[20], item[10], check[10] '現在開いているファイルが INI なら、このファイルを読込むかたずねる if @hwnd > 0 then if right$(@Filename$, 3) = "ini" or \ right$(@Filename$, 3) = "INI" then item$[1] = "この設定ファイルを読込む" item$[2] = "ファイルを指定する" sel = popupmenu(item$) if sel = 1 then file$ = @Pathname$ if sel < 1 or sel > 2 then exit proc end if end if 'INIファイルを探すフォルダとマスクを指定 if file$ = "" then file$ = \ GetFileName$(@@QXDirectory$, "*.ini", "ファイル選択") if file$ = "" then exit proc '指定されたファイルの内容項目チェック open file$ for input as #1 do until eof(1) lineinput #1, l$ if left$(l$, 1) = "[" then if instr(lcase$(l$), "[key]") then item[3] = 1 if instr(lcase$(l$), "[menubar]") then item[4] = 1 if instr(lcase$(l$), "[popupmenu]") then item[5] = 1 if instr(lcase$(l$), "[keymenu]") then item[6] = 1 if instr(lcase$(l$), "[toolbar]") then item[7] = 1 if instr(lcase$(l$), "[statusbar]") then item[7] = 1 end if loop 'ポップアップメニューの項目初期化 i = 1 item$[i++] = file$ + " 読込む項目?" item$[i++] = chr$(1) + "-" a$ = "" : if item[i] = 0 then a$ = chr$(1) item$[i++] = a$ + "キー設定" a$ = "" : if item[i] = 0 then a$ = chr$(1) item$[i++] = a$ + "メニューバー" a$ = "" : if item[i] = 0 then a$ = chr$(1) item$[i++] = a$ + "右クリックメニュー" a$ = "" : if item[i] = 0 then a$ = chr$(1) item$[i++] = a$ + "キーメニュー" a$ = "" : if item[i] = 0 then a$ = chr$(1) item$[i++] = a$ + "ツールバー・ステータスバー" item$[i++] = chr$(1) + "-" item$[i++] = chr$(1) + "・決定・" item$[i++] = chr$(1) + "-" item$[i++] = "ぜんぶ" item$[i++] = chr$(1) + "-" item$[i++] = "やめる" 'ポップアップメニューを表示 do until done = 1 sel = popupmenu(item$,200,100) if sel > 2 and sel < 8 then if check[sel] = 0 then check[sel] = 1 item$[sel] = chr$(2) + item$[sel] count++ else check[sel] = 0 item$[sel] = mid$(item$[sel], 2) count-- end if else done = 1 end if '「決定」を選択可能に if count > 0 then item$[9] = "・決定・" else item$[9] = chr$(1) + "・決定・" end if loop '選択項目にしたがって実行 if sel > 11 or sel < 3 then call msgbox("キー・メニュー切替 --- 中止しました") exit proc end if if sel = 11 then for i = 3 to 7 check[i] = item[i] next end if for i = 3 to 7 if check[i] > 0 then if instr(item$[i],chr$(2)) then item$[i] = mid$(item$[i],2) s$ = s$ + chr$(10) + "・ " + item$[i] end if next sel = msgbox("キー・メニュー切替 --- 以下を切替えます" + \ chr$(10) + s$, MB_OKCANCEL) if sel = IDCANCEL then exit proc n = check[3] + check[4]*2 + check[5]*4 + check[6]*8 + check[7]*16 @@InitKeyFile file$,n call msgbox("キー・メニュー切替 --- Done !!!") end proc