印刷ダイアログに[設定保存]ボタンをNo.08816
viking さん 01/05/25 10:56
 
いま、印刷ダイアログで設定をいじくった場合、[OK]ボタンを
押さない限り、この変更は保存されませんよね。

普段私は仏文や独文を秀丸から印刷しているので、フォントは
「Times New Roman」にしています。
たまに日本語のテキストを印刷しなければならないときがあります。
このとき、フォントを「MS 明朝」にして印刷し、その後すぐ
「Times New Roman」に戻したいのですが、これが出来ません。

次に仏文や独文を印刷する時に「MS 明朝」に変更した事を
うっかり忘れて[OK]ボタンを押してしまうと、文字バケで
印刷されてしまいます。

なんとかならないでしょうか?

[ ]
RE:08816 印刷ダイアログに[設定保存]ボタNo.08818
番頭++ さん 01/05/25 11:10
 
>なんとかならないでしょうか?

案:壱です。
好きなキーに割り当ててください。

//*5A1.mac
config "f(MS 明朝)";//仮の設定です。
print;
config "f(Times New Roman)";
endmacro;

案:弐
マクロのヘルプを見てください。

[ ]
RE:08818 印刷ダイアログに[設定保存]ボタNo.08820
viking さん 01/05/25 11:41
 
config文は、「秀丸のファイルタイプ別の設定を変更」するだけで
印刷時のフォントは変更されないようですが?

[ ]
RE:08820 印刷ダイアログに[設定保存]ボタNo.08821
番頭++ さん 01/05/25 12:09
 
>config文は、「秀丸のファイルタイプ別の設定を変更」するだけで
>印刷時のフォントは変更されないようですが?

すんません。そのとうりです ...

# 何年、「秀丸」を ...

[ ]
RE:08821 印刷ダイアログに[設定保存]ボタNo.08823
番頭++ さん 01/05/25 12:37
 
># 何年、「秀丸」を ...

//*5    A4.mac
    call pp_get_regstr1 "PFont";
    $sv_pf = $$return;  //  とりあえず逃がす ...
    call pp_put_regstr1 "PFont", "Times New Roman";
    envchanged; //  いるんかいな ...
    print;
    call pp_put_regstr1 "PFont", $sv_pf;
    envchanged; //  いるんかいな ...
endmacro;

pp_get_regstr1:
    openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
    $$w = getregstr( $$1 );
    closereg;
return $$w;

pp_put_regstr1:
    openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
    writeregstr $$1, $$2;
    closereg;
return $$w;

//  "PFont"="MS 明朝"
//  "PFontSize"=dword:0000000a

あとはマクロの会議室で ...

# とんだ、昼休みであった ...

[ ]
RE:08823 印刷時のフォント、サイズを変更No.08828
番頭++ さん 01/05/25 14:08
 
これで一応完成かも、でも誰かが作っているような気もしますが ...
Hidemaru Ver. 3.05 , Windows 95 では動きましたが ...

//*5    A5.mac
//*5    印刷時のフォント、サイズを変更する - (print; // も出来るでしょう。)
//*5    レジストリを変更しています。

    $reg1 = "CURRENTUSER";  // for Windows 95 ???
    $reg2 = "Software\\Hidemaruo\\Hidemaru\\Env";
//  "PFont"="MS 明朝"
//  "PFontSize"=dword:0000000a
//  とりあえず、元のを逃がす ...
    call pp_get_regstr1 "PFont";    $t_f[0] = $$return;
    call pp_get_regnum1 "PFontSize";    #t_s[0] = ##return;
    $t[0] = "印刷のフォント、サイズの変更するだ !!!";
    $t[1] = "現在の設定 - " + $t_f[0] + " ; " + str(#t_s[0]);
    $t_f[1] = "MS 明朝";  #t_s[1] = 10;
    $t_f[2] = "MS 明朝";  #t_s[2] = 09;
    $t_f[3] = "Times New Roman";    #t_s[3] = 11;
    $t_f[4] = "Times New Roman";    #t_s[4] = 09;
    $t_f[5] = "";   #t_s[5] = 00; // 追加はご自分で ...
    #i = 1;
    while( $t_f[#i] != "" ){
        $t[#i+1] = "(&" + str(#i) + ") " + $t_f[#i] + " ; " + str(#t_s[#i]);
        #i = #i + 1;
    }
    menuarray $t, #i + 1;
    #r = result - 2;
    if( #r > 0 ){
        call pp_put_regstr1 "PFont", $t_f[#r];
        call pp_put_regnum1 "PFontSize", #t_s[#r];
        envchanged; //  いるんかいな ...
    //  message "変更後の設定 - " + $t_f[#r] + " ; " + str(#t_s[#r]);
    //  print;  //  印刷するか !!!
        call pp_put_regstr1 "PFont", $t_f[0];   //  元に戻す
        call pp_put_regnum1 "PFontSize", #t_s[0];   //  元に戻す
        envchanged;
    }
endmacro;

pp_get_regstr1:
    openreg $reg1, $reg2;
    $$w = getregstr( $$1 );
    closereg;
return $$w;

pp_put_regstr1:
    openreg $reg1, $reg2;
    writeregstr $$1, $$2;
    closereg;
return;

pp_get_regnum1:
    openreg $reg1, $reg2;
    ##w = getregnum( $$1 );
    closereg;
return ##w;

pp_put_regnum1:
    openreg $reg1, $reg2;
    writeregnum $$1, ##2;
    closereg;
return;

# とんだ、金曜日であった ...

[ ]
RE:08828 印刷時のフォント、サイズを変更No.08829
番頭++ さん 01/05/25 14:11
 
# 投稿まで間違えてる ...

//*5    A3.mac
    gofiletop;
    //  日本語文章の判定、もどき ...
    searchdown "[ 、。]", regular; //  これは多分、日本語でしょう。
    if( result ){
        config "f(MS 明朝)";  //  日本語でしょう。
    } else {
        $t[0] = "フォントの設定";
        $t[1] = "(&R) Times New Roman";
        $t[2] = "(&M) MS 明朝";
        menuarray $t, 02 + 1;
        #r = result - 1;
        if( #r >= 1 && $t[#r] != "" ){
            config "f(" + midstr($t[#r],5,99) + ")";
        }
    }
    escape; gofiletop;
endmacro;


[ ]
RE:08829 印刷時のフォント、サイズを変更No.08831
番頭++ さん 01/05/25 14:47
 
># 投稿まで間違えてる ...

[ 100301 ]   2001/05/25 14:44
ハンドル:番頭++
E-Mail :xxxxxxxxx@hotmail.com
タイトル:印刷時のフォント、サイズを変更

getinixxx , writeinixxx を完全にわすれてた、いかん ...

# おーおーボケた、金曜日であった ...

//*5 A6.mac
//*5 印刷時のフォント、サイズを変更する。
//*5 print; // も出来るでしょう。
//*5 レジストリを変更しています。

// "PFont"="MS 明朝"
// "PFontSize"=dword:0000000a

// とりあえず、元のを逃がす ...
 call pp_get_inistr1 "PFont"; $t_f[0] = $$return;
 call pp_get_ininum1 "PFontSize"; #t_s[0] = ##return;
 $t[0] = "印刷のフォント、サイズの変更するだ !!!";
 $t[1] = "現在の設定 - " + $t_f[0] + " ; " + str(#t_s[0]);
 $t_f[1] = "MS 明朝"; #t_s[1] = 10;
 $t_f[2] = "MS 明朝"; #t_s[2] = 09;
 $t_f[3] = "Times New Roman"; #t_s[3] = 11;
 $t_f[4] = "Times New Roman"; #t_s[4] = 09;
 $t_f[5] = ""; #t_s[5] = 00; // 追加はご自分で ...
 #i = 1;
 while( $t_f[#i] != "" ){
  $t[#i+1] = "(&" + str(#i) + ") " + $t_f[#i] + " ; " + str(#t_s[#i]);
  #i = #i + 1;
 }
 menuarray $t, #i + 1;
 #r = result - 2;
 if( #r > 0 ){
  call pp_put_inistr1 "PFont", $t_f[#r];
  call pp_put_ininum1 "PFontSize", #t_s[#r];
  envchanged;
 // message "変更後の設定 - " + $t_f[#r] + " ; " + str(#t_s[#r]);
 // print; // 印刷するか !!!
  call pp_put_inistr1 "PFont", $t_f[0]; // 元に戻す
  call pp_put_ininum1 "PFontSize", #t_s[0]; // 元に戻す
  envchanged; // いるんかいな ...
 }
endmacro;

pp_get_inistr1:
 $$w = getinistr( "HIDEMARU.INI", "Env", $$1 );
return $$w;

pp_put_inistr1:
 writeinistr "HIDEMARU.INI", "Env", $$1, $$2;
return;

pp_get_ininum1:
 ##w = getininum( "HIDEMARU.INI", "Env", $$1 );
return ##w;

pp_put_ininum1:
 writeininum "HIDEMARU.INI", "Env", $$1, ##2;
return;


[ ]
RE:08831 印刷時のフォント、サイズを変更No.08833
viking さん 01/05/25 15:17
 
NTではうまく動作しないです。
writeregstr なり writeinistr なりすると、
レジストリは書き変わるのですが、印刷ダイアログを
開くと何故か「Roman」(リストの一番上)を選択した
状態になっています。
95で試してみるとうまくいっています。

[ ]
RE:08833 NTではうまく動作しないNo.08834
番頭++ さん 01/05/25 15:35
 
>NTではうまく動作しないです。
>writeregstr なり writeinistr なりすると、
>レジストリは書き変わるのですが、印刷ダイアログを
>開くと何故か「Roman」(リストの一番上)を選択した
>状態になっています。

NT とか 2000 は環境が無いので判りませんが、
A6.mac ではダメで、A5.mac で、レジストリは変わるわけですよね。
envchanged; これが効かないと、マクロではどうしようもありません。
あちきは、これ以上は判りません。

[ ]
RE:08816 印刷ダイアログに[設定保存]ボタNo.08840
秀丸担当 さん 01/05/25 18:30
 
>いま、印刷ダイアログで設定をいじくった場合、[OK]ボタンを
>押さない限り、この変更は保存されませんよね。

これはキャンセルというか「閉じる」を押した場合も保存する
ようになるべきでした。「閉じる」を押したときに保存する
ように直します。

[ ]