「貼付け実行後のカーソル位置を貼付け文字列の先頭にする」の版間の差分

MSY-07 (トーク | 投稿記録)
セクションの追加
MSY-07 (トーク | 投稿記録)
SyntaxHighlightにcopyの追加
 
(2人の利用者による、間の2版が非表示)
5行目: 5行目:


== ソースコード ==
== ソースコード ==
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
with (document.selection) {
var sel = document.selection;
  // カーソル位置を保存
// カーソル位置 (選択開始位置) を保存
  var x = GetActivePointX(mePosView);
var x = sel.GetTopPointX(mePosView);
  var y = GetActivePointY(mePosView);
var y = sel.GetTopPointY(mePosView);
  // 選択開始位置を保存
// 貼付け
  var ax = GetTopPointX(mePosView);
sel.Paste();
  var ay = GetTopPointY(mePosView);
// カーソル位置を復元
  // 選択終了位置を保存
sel.SetActivePoint(mePosView, x, y, false);
  var bx = GetBottomPointX(mePosView);
  var by = GetBottomPointY(mePosView);
 
  // 貼付け
  Paste();
 
  // カーソル位置を復元
  SetActivePoint(mePosView, x, y, false);
  // 範囲選択時には最左上の位置に復元
  if (x == bx && y == by) {
    SetActivePoint(mePosView, ax, ay, false);
  }
}
</syntaxhighlight>
</syntaxhighlight>
スポンサーリンク