【发布时间】:2014-01-25 07:47:06
【问题描述】:
我正在尝试获取光标所在的行号。但是我没有找到直接的方法来获得这条线。相反,我试图获取当前位置,然后使用 SCI_LINEFROMPOSITION 将其转换为行。
::SendMessage(nppData._nppHandle,SCI_GETCURRENTPOS,0,(LPARAM)&first);
::SendMessage(nppData._scintillaMainHandle,SCI_GETCURRENTPOS,0,(LPARAM)&second);
::SendMessage(nppData._scintillaSecondHandle,SCI_GETCURRENTPOS,0,(LPARAM)&third);
这些调用中的每一个都不会更改最后一个参数的值。不幸的是,我没有找到SCI_GETCURRENTPOS 的示例。我可以将文本插入文件,这样我就可以通过这种方式检查值:
std::wstringstream wss;
wss << "First value read" << first << std::endl;
wss << "Second value read" << second << std::endl;
wss << "Third value read" << third << std::endl;
insertTextIntoCurrentFile(wss.str().c_str());
我应该如何获得当前行?在这种情况下,为SendMessage 发送的预期HWND 是什么?
【问题讨论】:
-
最好在 Notepad++ 论坛主题中搜索/询问插件开发:sourceforge.net/p/notepad-plus/discussion/482781