アウトライン解析の枠の位置No.35986
でがらし さん 17/08/27 09:20
 
 アウトライン解析の枠を、毎回、同じ位置に固定する方法があるでしょうか? 手
動で位置を移動し、その位置を変えない状態でファイルを保存しても、次にファイル
を開いたときには、位置が別の位置に変わっています。

 なお、ファイルを開いたとき、枠は常にファイルごとに固定した位置になります。
固定位置を変更するのが希望です。Windoes8.1、秀丸8.73です。

 マクロには枠の位置を指定する関数がないようですが、いずれ、作っていただくこ
とはできるものでしょうか?


[ ]
RE:35986 アウトライン解析の枠の位置No.35988
秀丸担当 さん 17/08/28 10:32
 

アウトライン解析の枠は、秀丸エディタ本体とは分離したウィンドウで、浮かせ
る状態にすると、そのときの位置を記憶し、次回もその場所になるはずですが、
そうならないことがあるとしたら、何か問題があるのかもしれません。

浮かせる状態ではなく、本体のウィンドウ内の枠としてのことでも、上下左右の
位置も共通に記憶されます。
このときのウィンドウサイズの広がり方のことだとしたら、設定があります。
[その他]→[ファイルタイプ別の設定]→[アウトライン]→[アウトラインの詳細
な設定]にある「枠の表示でウィンドウサイズを広げる」があって、これがONの
場合、ファイルごとのウィンドウサイズの設定や記憶の状態の組み合わせ等によ
って期待とは違うことになるかもしれません。
OFFにしておくと、余計なウィンドウサイズの調整を行わないようになります。

他に、ファイルごとにある状態としては、カーソル位置があります。
位置というのが選択位置のことだとしたら、カーソル位置に伴ってアウトライン
の選択位置も変わります。
[その他]→[ファイルタイプ別の設定]→[体裁]→[詳細]にある「カーソル位置の
自動復元」をONにしておくと、次回開いたときカーソル位置が前回の場所になる
ので、それに伴ってアウトライン解析の選択が変わります。

位置というのが何か把握できていないので、詳しく教えていただけると助かりま
す。
どういう目的かによりますが、現状マクロでできなくて、マクロで変更できたほ
うがよさそうな場合、追加することも可能だと思います。

[ ]
RE:35988 アウトライン解析の枠の位置No.35992
でがらし さん 17/08/28 20:53
 
>アウトライン解析の枠は、秀丸エディタ本体とは分離したウィンドウで、浮かせる
>状態にすると、そのときの位置を記憶し、次回もその場所になるはずですが、そう
>ならないことがあるとしたら、何か問題があるのかもしれません。

 ● 「浮かせる状態」の意味が、わかりませんでした。

>「枠の表示でウィンドウサイズを広げる」があって、これがONの場合、ファイルご
>とのウィンドウサイズの設定や記憶の状態の組み合わせ等によって期待とは違うこ
>とになるかもしれません。OFFにしておくと、余計なウィンドウサイズの調整を行
>わないようになります。

 ● オフになっていました。

>「カーソル位置の自動復元」をONにしておくと、次回開いたときカーソル位置が前
>回の場所になるので、それに伴ってアウトライン解析の選択が変わります。

 ● オンになっていました。

>現状マクロでできなくて、マクロで変更できたほうがよさそうな場合、追加するこ
>とも可能だと思います。

 ● アウトライン解析の枠を左側に設定しています。画面の左端とアウトライン解
析の枠の右端との間の距離のことをいっていました。

 ●アウトラインに見出しを表示していますが、長い見出しがあるときは、アウトラ
イン解析の枠の右端をもっと右へ寄せたいことがあります。また、ノートパソコンを
利用するときは、右端をもっと左へ寄せたいことがあります。


[ ]
RE:35992 アウトライン解析の枠の位置No.35994
秀丸担当 さん 17/08/29 10:15
 

詳しい情報ありがとうございます。
アウトライン解析の枠の幅ということで、把握できました。
浮かせるというのは、アウトライン解析の枠の上部つまみをドラッグするか、▼
ボタンで「位置」を「浮かせる」にしたときの状態のことでした。

幅は、ファイルごとには記憶されず、記憶されるのは共通の1つのみになってい
ます。
サイズ変更の操作すると、操作をしたその時点の幅が記憶されます。
非タブモードでは、他の開いているファイルには即反映はされません。タブモー
ドでは即反映されます。

マクロで変更する方法はいまのところ無いです。
レジストリを書き換えて無理矢理反映させるという方法も考えられますが、最近
のバージョンではDPIに連動させるためレジストリの形式も変更されていたり、
反映させるために再表示させたりして遅いので、それ用のマクロ文があったほう
がいいと思います。
そういう文の追加を検討したいと思います。

現状で無理矢理やるとしたら、以下のような感じになります。
(V8.69以降であらかじめ枠の情報がある前提)

//幅を大きくする
#cMove = 300;
config "xOutline:0";
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\outline";
#cxyDpi=getregnum("cxyDpi");
if((#cxyDpi&0xffff)<(0xffff-#cMove)){
  writeregnum "cxyDpi",#cxyDpi+#cMove;
}
closereg;
config "xOutline:1";
endmacro;

//幅を小さくする
#cMove = 300;
config "xOutline:0";
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\outline";
#cxyDpi=getregnum("cxyDpi");
if((#cxyDpi&0xffff)>#cMove){
  writeregnum "cxyDpi",#cxyDpi-#cMove;
}
closereg;
config "xOutline:1";
endmacro;

[ ]
RE:35994 アウトライン解析の枠の位置No.35998
でがらし さん 17/08/29 22:07
 
 「浮かせる」の件、了解です。アウトラインの▼の先へ進んだことがないので、ち
ゃんとメニューに載っているのを知りませんでした。

 もし、アウトラインのマクロを拡充されるようでしたら、アウトラインの▼にある
メニューの追加も検討していただけると幸いです。マクロから使えると、使い勝手が
とてもよくなると思います。

 レス、ありがとうございました。

[ ]
RE:35998 アウトライン解析の枠の位置No.35999
秀丸担当 さん 17/08/30 09:30
 

枠の▼のメニューのうち、基本的な幾つかはsendmessageでコマンドを送ること
ができるようになっています。
outlinehandleというキーワードがあって、数値としてのコマンドを送ると実行
できます。
マクロヘルプの以下のページに詳細があります。
目次− 内部的な値を表現するキーワード−アウトライン関連キーワード

浮かせるに相当するコマンド値(7102)が、ヘルプに載っていないことに気づきま
した。追記させていただきます。
例えば以下のようにして実行します。
#ret=sendmessage(outlinehandle,0x111/*WM_COMMAND*/,7102,0);

アウトライン解析の枠のサイズ変更は、sendmessageではなく、それ専用の文の
追加を考えたいと思います。

[ ]
RE:35999 アウトライン解析の枠の位置No.36016
でがらし さん 17/09/07 20:46
 
 本日、レスをいただいているのに気づきました。そういう仕掛けがあるのは知りま
せんでした。勉強してみます。ありがとうございました。

[ ]
RE:36016 アウトライン解析の枠の位置No.36017
秀丸担当 さん 17/09/08 08:52
 

V8.75のβ版で、レジストリを無理矢理いじならくてもサイズを指定できるマク
ロ文を追加してみてます。
例えば以下のようなマクロでサイズを変更できます。

//幅を大きくする
setoutlinesize outlinesize+300;
endmacro;

//幅を小さくする
setoutlinesize outlinesize-300;
endmacro;

[ ]
RE:36017 アウトライン解析の枠の位置No.36018
でがらし さん 17/09/09 08:07
 
 ありがたいです。さっそく組み込みます。

[ ]