[スレッド全体]

2017/10/6 (金) 23:27:36 返信 削除
[642] Re:画面表示開始行の取得方法

▼ NaKITさん
> マクロの命令 SetViewTop を使用すると,
> 表示する一番上の行の行番号を指定することができますが,
> 現在何行目から表示されているかを取得するにはどうすればよいのでしょうか?


実装ベースで確認したところ、方法はありませんでした。
現状、サクラエディタには存在しない機能です。


マクロから使える全ての機能は、
以下のファイルで実装されています。

https://sourceforge.net/p/sakura-editor/code/4196/tree/sakura/trunk2/sakura_core/macro/CSMacroMgr.cpp

・VB的にSubな関数群
sakura_core\macro\CSMacroMgr.cpp(43):        MacroFuncInfo CSMacroMgr::m_MacroFuncInfoCommandArr[] =

・VB的にFunctionな関数群
sakura_core\macro\CSMacroMgr.cpp(411):        MacroFuncInfo CSMacroMgr::m_MacroFuncInfoArr[] =


値を返す関数群「m_MacroFuncInfoArr」に
CEditWnd::getInstance()->GetActiveView()->m_pcTextArea->GetViewTopLine();
を返す関数を追加してやれば良いです。

需要があるとわかればきっと誰かが作ってくれる気がします。
開発Uとかでアピってみてください。

もしくは、これを機にC言語開発に挑戦してみるのもよいかもしれません。
F_SETVIEWTOPを参考にF_GETVIEWTOPを定義し、
他の部分は隣の処理からコピペしてくれば簡単に実現できる機能です。
javascript等で他人のコードが読めるなら、不可能じゃないと思います。
berryzplus
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81