GetSelectColmToの戻り値
- ページ: BugReport
- 投稿者: mg?
- 優先順位: 普通
- 状態: 提案
- カテゴリー: マクロ
- 投稿日: 2017-11-07 (火) 18:54:46
- バージョン: 2.3.0.0
メッセージ
バージョン2.3.0.0〜2.3.2.0でマクロのGetSelectColmToとGetSelectColmFromの戻り値がおかしいようです。
座標変換サンプル
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| | function Zahyo(){
var lay_y = Editor.GetSelectLineFrom()
var lay_x = Editor.GetSelectColmFrom();
if(lay_y <= 0){
return;
}
var lay_x_old = Math.floor(lay_x / Editor.GetDefaultCharLength());
var logic_y = Editor.LayoutToLogicLineNum(lay_y);
var logic_x = Editor.LineColumnToIndex(lay_y, lay_x)
var text = Editor.GetLineStr(logic_y);
var text_to_index = text.substr(0, logic_x - 1);
var col_x = Editor.GetStrWidth(text_to_index);
Editor.InfoMsg("レイアウト " + lay_y + "行 " + lay_x + "桁(px) ルーラー" + lay_x_old + "桁\n" +
"ロジック " + logic_y + "行 " + logic_x + "桁\n" +
"等幅換算 " + lay_y + "行" + col_x + "桁");
}
Zahyo();
|
- 仕様変更です。文字数(全角=2/半角=1)にするにはGetDefaultCharLengthで割ってください。文字のindexがほしいならLineColumnToIndex --
- ↑プロポーショナルフォントの場合は、割っても2,1にはならないので、GetStrWidthを併用する必要もあるかもしれません --
- pxで返るようになってたんですね。失礼致しました。 -- mg?
- 上のコードは2.1.0.0以上であれば関数が先行実装されているのでlay_x以外は互換性がたぶんあります --
convert_col.js 148件
[詳細]