アウトラインを表示した直後のsetfocus 2No.04635
tubo さん 09/11/30 10:43
 
あまり困っていないのですが、気になったので報告しておきます。

アウトラインを表示したときに、フォーカスを移すようにマクロを
組んでいるのですが、以前(たぶんv7)では"setfocus 2"で行けたの
ですが、現在はそのままだとフォーカスが移らなくなっています。
ただ、代わりにsetfocus outlinehandleを使うとちゃんとフォーカスが
移るので、困ってはいないのですが、一応報告しておきます。


●再現マクロ
main:
showoutline;
if(getconfig("Outline")){
 setfocus 2;
 //setfocus outlinehandle;  //<-- こっちだと動く
}
endmacro;

[ ]
RE:04635 アウトラインを表示した直後のseNo.04644
秀丸担当 さん 09/11/30 15:45
 

>アウトラインを表示したときに、フォーカスを移すようにマクロを
>組んでいるのですが、以前(たぶんv7)では"setfocus 2"で行けたの
>ですが、現在はそのままだとフォーカスが移らなくなっています。
>ただ、代わりにsetfocus outlinehandleを使うとちゃんとフォーカスが
>移るので、困ってはいないのですが、一応報告しておきます。

Windows XP,Windows 7で、タブモードON/OFF、強調一覧,関数一覧,ツリー表示,
アウトライン解析の枠を浮かせるなどの条件をいろいろ変えて試してみましたが、
問題は見られませんでした。

1つ気になったのが、テスト用のマクロ1に割り当てているとき、Ctrl+1で実行
したのですが、そのときCtrlを押したまま上下キーを押すとキー割り当てされた
「高速上移動」「高速下移動」のコマンドになって編集エリアにフォーカスが行
くことがありました。
ソースを見直してみても、setfocus 2;でもほぼ同じで差異が現れるような要因
は思いつきませんでした。

アウトライン解析の方法や表示方法によってはできる場合があるなど、もし何か
他に条件と思われるようなことがあるようでしたら報告していただけると助かり
ます。

[ ]
RE:04644 アウトラインを表示した直後のseNo.04646
tubo さん 09/11/30 17:13
 
>アウトライン解析の方法や表示方法によってはできる場合があるなど、もし何か
>他に条件と思われるようなことがあるようでしたら報告していただけると助かり
>ます。

ちょっと調べてみました。
どうも、「ファイルタイプ別設定」の「見出しバー」か「折りたたみ用の余白」に
チェックを入れるとちゃんとフォーカスが移りました。
この場合は、アウトラインを閉じただけだと編集エリアにはフォーカスが戻って来ま
せんでした。
これに関しては閉じた際にマクロでsetfocuse 1をすればちゃんと戻ってきました。

で、上記チェックを両方外すと、ご報告したようにsetfocuse 2でフォーカスが移ら
ないみたいです。
解析の方法はいろいろ変えてみましたが、特に影響はありませんでした。

他にも条件があるのかもしれないので、また何か気づいたらご報告します

よろしくお願いします。

[ ]
RE:04646 アウトラインを表示した直後のseNo.04647
tubo さん 09/11/30 17:17
 
すいません。
環境を書こうと思って忘れました

XP SP3でβ27です。
よろしくお願いします。

[ ]
RE:04647 アウトラインを表示した直後のseNo.04648
秀丸担当 さん 09/11/30 17:47
 

>どうも、「ファイルタイプ別設定」の「見出しバー」か「折りたたみ用の余白」に
>チェックを入れるとちゃんとフォーカスが移りました。

ありがとうございます。
言われている通りにして再現させることができました。
調べてみたところ、β22で非表示のウィンドウにはフォーカス移動しないように
した影響でした。
アウトライン解析の枠が計算中は高速にするためにコントロールを一次的に非表
示にしているのですが、そのためでした。
outlinehandleでできるのはコントロールではなく枠そのものにフォーカスがある
ためのようです。また見出しバーなどがあると計算中にならず瞬時に出るため大
丈夫でした。
β28で修正させていただきます。

[ ]
RE:04648 アウトラインを表示した直後のseNo.04699
tubo さん 09/12/04 10:22
 
β28で修正されているのを確認できました。
ありがとうございました。


[ ]