- 作成者投稿
- 2007年4月12日 10:20 pm #4363匿名ゲスト
行選択して上にジャンプした後の選択範囲が変な気がします。
それとジャンプ後左右カーソル移動で描画異常です。
サンプルは上にジャンプしていますが、下にジャンプしても似たような事になります。var str = ‘aaaaaaaaaaaaarn’;
for(var i=0;i<3;i++){str += str;}
document.write(str+'---------------------rnZZZZZZZZZZZZZrn');
document.selection.LineUp(false,2);
editor.ExecuteCommandByID(4154);
document.selection.SetActivePoint(eePosLogical, 1, 4, true);//Ctrl+G の意
// この時、ハイフンの行は選択範囲外。バグか意図なのか不明//document.selection.CharRight(false,5);
//マクロではなくキーボーで操作。ハイフンの行に妙な縦線描画がされる。
// この後、ラインダウンして10行目へ移動し再びラインアップしてみると、
// ハイフンの行が選択範囲内に。win2000sp4
EmEidtor v6.00.42007年4月13日 3:39 pm #4364ShuHeiメンバー// この時、ハイフンの行は選択範囲外。バグか意図なのか不明
これはマニュアルの通り正しい動作なんですが、
マクロの自由さが裏目にでちゃった例ですね。もっと詳しく情報がでるマクロをこさえてみました。
var prog = ”
var str = ‘aaaaaaaaaaaaarn’;n
for(var i=0;i<3;i++){str += str;}n
document.write(str+’———————rnZZZZZZZZZZZZZrn’);n
document.selection.LineUp(false,2);n
editor.ExecuteCommandByID(4154);//行選択を開始n
//document.selection.SetActivePoint(eePosLogical, 1, 4);n
“;recipe = prog.split(“n”);
for(var s in recipe)
{
if(recipe[s].replace(/^s+/,””).match(/^//.+/,””)){continue;}
eval(recipe[s]);
checkMode(“実行コード:” + recipe[s] + “n”,document.selection.Mode);
}function checkMode(string,num)
{
x = document.selection.getActivePointX(eePosLogical);
y = document.selection.getActivePointY(eePosLogical);
sx = document.selection.getTopPointX(eePosLogical);
sy = document.selection.getTopPointY(eePosLogical);
ex = document.selection.getBottomPointX(eePosLogical);
ey = document.selection.getBottomPointY(eePosLogical);ret = “選択の種類:”;
switch(num & eeModeMask)
{
case eeModeStream:
ret = ret + “eeModeStream”;
break;
case eeModeLine:
ret = ret + “eeModeLine”;
break;
case eeModeBox:
ret = ret + “eeModeBox”;
break;
case eeModeKeyboard:
ret = ret + “eeModeKeyboard”;
break;
case eeModeSelected:
ret = ret + “eeModeSelected”;
break;
}
ret = ret + “n”;
current_point = “現在のカーソル位置:” + x + “, ” + y + “n”;
anchor_point = “選択範囲の開始位置:” + sx + “, ” + sy + “n”;
bottom_point = “選択範囲の終了位置:” + ex + “, ” + ey + “n”;alert(string + “n” +ret + current_point + anchor_point + bottom_point);
}—
確かに行選択(Ctrl+F8)後にジャンプ(Ctrl+G)をすると描画領域が変になりますね。
マクロで調べる限りでは正しく選択範囲の最初と最後が
設定されているのですが、ジャンプした直後だとうまく切り取れないようですし・・・ - 作成者投稿
- このトピックに返信するにはログインしてください。