「選択文字列を強調」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
タグとURLの修正
MSY-07 (トーク | 投稿記録)
SyntaxHighlightにcopyの追加
 
(同じ利用者による、間の3版が非表示)
1行目: 1行目:
選択文字列を強調(ハイライト表示)します。
選択文字列を強調(ハイライト表示)します。


<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript" copy>
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
// 選択文字列を強調
// 選択文字列を強調
10行目: 10行目:


// 何も選択してない場合は単語を選択
// 何も選択してない場合は単語を選択
with (document.selection) {
var sel = document.selection;
  var s = Text;
var s = sel.Text;
  if (s.length == 0)
if (s.length == 0) {
    SelectWord();
sel.SelectWord();
  s = Text;
}
}
s = sel.Text;
// 選択範囲が空ではない場合
// 選択範囲が空ではない場合
if (s.length > 0) {
if (s.length > 0) {
  with (document.selection) {
// カーソル位置を保存
    // カーソル位置を保存
var ax = sel.GetActivePointX(mePosView);
    var ax = GetActivePointX(mePosView);
var ay = sel.GetActivePointY(mePosView);
    var ay = GetActivePointY(mePosView);
// 選択開始位置を保存
    // 選択開始位置を保存
var tx = sel.GetTopPointX(mePosView);
    var tx = GetTopPointX(mePosView);
var ty = sel.GetTopPointY(mePosView);
    var ty = GetTopPointY(mePosView);
// 選択終了位置を保存
    // 選択終了位置を保存
var bx = sel.GetBottomPointX(mePosView);
    var bx = GetBottomPointX(mePosView);
var by = sel.GetBottomPointY(mePosView);
    var by = GetBottomPointY(mePosView);
// 選択開始位置に移動
    // 選択開始位置に移動
sel.SetActivePoint(mePosView, tx, ty, false);
    SetActivePoint(mePosView, tx, ty, false);
// 1回検索することでハイライト表示させる
    // 1回検索することでハイライト表示させる
sel.Find(s, meFindNext);
    Find(s, meFindNext);
// 選択開始位置、終了位置を復元
    // 選択開始位置、終了位置を復元
if (ax == bx && ay == by) {
    if (ax == bx && ay == by) {
sel.SetActivePoint(mePosView, tx, ty, false);
      SetActivePoint(mePosView, tx, ty, false);
sel.SetActivePoint(mePosView, bx, by, true);
      SetActivePoint(mePosView, bx, by, true);
}
    }
  }
}
}
</syntaxhighlight>
</syntaxhighlight>

2025年6月30日 (月) 01:12時点における最新版

選択文字列を強調(ハイライト表示)します。

// -----------------------------------------------------------------------------
// 選択文字列を強調
//
// Copyright (c) Kuro. All Rights Reserved.
// www:    https://www.haijin-boys.com/
// -----------------------------------------------------------------------------

// 何も選択してない場合は単語を選択
var sel = document.selection;
var s = sel.Text;
if (s.length == 0) {
	sel.SelectWord();
}
s = sel.Text;
// 選択範囲が空ではない場合
if (s.length > 0) {
	// カーソル位置を保存
	var ax = sel.GetActivePointX(mePosView);
	var ay = sel.GetActivePointY(mePosView);
	// 選択開始位置を保存
	var tx = sel.GetTopPointX(mePosView);
	var ty = sel.GetTopPointY(mePosView);
	// 選択終了位置を保存
	var bx = sel.GetBottomPointX(mePosView);
	var by = sel.GetBottomPointY(mePosView);
	// 選択開始位置に移動
	sel.SetActivePoint(mePosView, tx, ty, false);
	// 1回検索することでハイライト表示させる
	sel.Find(s, meFindNext);
	// 選択開始位置、終了位置を復元
	if (ax == bx && ay == by) {
		sel.SetActivePoint(mePosView, tx, ty, false);
		sel.SetActivePoint(mePosView, bx, by, true);
	}
}
スポンサーリンク