From 7b2b130e64675d107dad28e9d8dc62d3603d6868 Mon Sep 17 00:00:00 2001 From: Katsuhisa Yuasa Date: Mon, 7 Sep 2020 07:09:32 +0900 Subject: [PATCH] =?UTF-8?q?=E7=94=BB=E9=9D=A2=E5=85=88=E9=A0=AD=E8=A1=8C?= =?UTF-8?q?=E3=82=92=E5=8F=96=E5=BE=97=E3=81=99=E3=82=8B=E3=83=9E=E3=82=AF?= =?UTF-8?q?=E3=83=AD=E9=96=A2=E6=95=B0=20GetViewTop=20=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- help/sakura/res/HLP000268.html | 10 +++++++++- sakura_core/Funccode_x.hsrc | 2 +- sakura_core/macro/CMacro.cpp | 6 ++++++ sakura_core/macro/CSMacroMgr.cpp | 1 + 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/help/sakura/res/HLP000268.html b/help/sakura/res/HLP000268.html index 920fe20fe0..7e58dbb427 100644 --- a/help/sakura/res/HLP000268.html +++ b/help/sakura/res/HLP000268.html @@ -75,6 +75,7 @@ + @@ -167,6 +168,7 @@

マクロ専用関数/変数

GetViewLines() :Integer
GetViewColumns() :Integer
CreateMenu( int1 :Integer, str2 :String ) :Integer
+・GetViewTop() :Integer

■ function GetFilename(): String; []
@@ -1095,5 +1097,11 @@

マクロ専用関数/変数

sakura:2.2.0.0以降

- +■ function GetViewTop() :Integer; []
+
+戻り値
+画面に表示されている一番上の行のレイアウト行番号(1開始)を取得します。
+
+sakura:2.4.2.0以降
+
diff --git a/sakura_core/Funccode_x.hsrc b/sakura_core/Funccode_x.hsrc index 0a666a8c7d..43b8d3c440 100644 --- a/sakura_core/Funccode_x.hsrc +++ b/sakura_core/Funccode_x.hsrc @@ -578,7 +578,7 @@ F_ISTEXTSELECTINGLOCK = 40055, // 選択状態のロックを取得 F_GETVIEWLINES = 40056, // ビューの行数取得 F_GETVIEWCOLUMNS = 40057, // ビューの列数取得 F_CREATEMENU = 40058, // メニュー作成 - +F_GETVIEWTOP = 40059, // 画面に表示される一番上の行番号を取得 // = 2005,.01.10 genta ISearch用補助コード // 2007.07.07 genta 16bit以内に収めないと状況コードと衝突するのでコードを変更 diff --git a/sakura_core/macro/CMacro.cpp b/sakura_core/macro/CMacro.cpp index 8ff518726e..2a6c339496 100644 --- a/sakura_core/macro/CMacro.cpp +++ b/sakura_core/macro/CMacro.cpp @@ -2452,6 +2452,12 @@ bool CMacro::HandleFunction(CEditView *View, EFunctionCode ID, const VARIANT *Ar } return false; } + case F_GETVIEWTOP: + { + int nLine = (Int)View->GetTextArea().GetViewTopLine(); + Wrap( &Result )->Receive( nLine + 1 ); + return true; + } default: return false; } diff --git a/sakura_core/macro/CSMacroMgr.cpp b/sakura_core/macro/CSMacroMgr.cpp index 8dc1cc7d76..521b292645 100644 --- a/sakura_core/macro/CSMacroMgr.cpp +++ b/sakura_core/macro/CSMacroMgr.cpp @@ -475,6 +475,7 @@ MacroFuncInfo CSMacroMgr::m_MacroFuncInfoArr[] = {F_GETVIEWLINES, L"GetViewLines", {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_I4, NULL }, //ビューの行数取得 {F_GETVIEWCOLUMNS, L"GetViewColumns", {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_I4, NULL }, //ビューの列数取得 {F_CREATEMENU, L"CreateMenu", {VT_I4, VT_BSTR, VT_EMPTY, VT_EMPTY}, VT_I4, NULL }, //メニュー作成 + {F_GETVIEWTOP, L"GetViewTop", {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_I4, NULL }, //画面に表示される一番上の行番号を取得 // 終端 // Jun. 27, 2002 genta