選択文字列を強調

提供: MeryWiki
ナビゲーションに移動 検索に移動

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

// -----------------------------------------------------------------------------
// 選択文字列を強調
//
// 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);
	}
}
スポンサーリンク