Я новичок в разработке плагинов Notepad ++, и я написал небольшую команду для навигации между файлами, очень похожа на функцию «прыжок к определению», которую вы выполняете для многих инструментов программирования. Впоследствии открывает другой файл, устанавливая курсор там в позицию, соответствующую слову, найденное. Это работает нормально. Что не работает, является ли прокрутка, чтобы сделать эту строку видимой и максимальной с SCI_SETFIRSTVISIBLELINE. < /P>
Как мне это сделать? Хотя я получаю событие (nppn_bufferactiviviviviviving), это все еще кажется слишком рано. Когда я отправляю sci_setfirstvisibleline в уже открытый файл, тогда блокнот ++ прыгает правильно. < /P>
Как воспроизвести: < /p>
Загрузите шаблон плагина свыше, Open Plugindefinition.cpp, вы найдете две команды. Опустошить тело одного из них и добавить: < /p>
std::wstring filepath = L"PATH TO A LONG TEXT FILE";
::SendMessage(nppData._nppHandle, NPPM_DOOPEN, 0, (LPARAM)filepath.c_str()); // works
int which = -1;
::SendMessage(nppData._nppHandle, NPPM_GETCURRENTSCINTILLA, 0, (LPARAM)&which);
HWND curScintilla = (which == 0) ? nppData._scintillaMainHandle : ppData._scintillaSecondHandle;
int line = 300; // go to line 300
::SendMessage(curScintilla, SCI_GOTOLINE, line - 1, 0); // works
::SendMessage(curScintilla, SCI_SETFIRSTVISIBLELINE, line - 1, 0); // does NOT work
//::SendMessage(curScintilla, SCI_SCROLLCARET, 0, 0); // works sometimes
Подробнее здесь: https://stackoverflow.com/questions/797 ... ht-after-o
Разработка плагинов Botepad ++ в C ++: не может перейти к указанной строке сразу после открытия файла ⇐ C++
Программы на C++. Форум разработчиков
1755649891
Anonymous
Я новичок в разработке плагинов Notepad ++, и я написал небольшую команду для навигации между файлами, очень похожа на функцию «прыжок к определению», которую вы выполняете для многих инструментов программирования. Впоследствии открывает другой файл, устанавливая курсор там в позицию, соответствующую слову, найденное. Это работает нормально. Что не работает, является ли прокрутка, чтобы сделать эту строку видимой и максимальной с SCI_SETFIRSTVISIBLELINE. < /P>
Как мне это сделать? Хотя я получаю событие (nppn_bufferactiviviviviviving), это все еще кажется слишком рано. Когда я отправляю sci_setfirstvisibleline в уже открытый файл, тогда блокнот ++ прыгает правильно. < /P>
Как воспроизвести: < /p>
Загрузите шаблон плагина свыше, Open Plugindefinition.cpp, вы найдете две команды. Опустошить тело одного из них и добавить: < /p>
std::wstring filepath = L"PATH TO A LONG TEXT FILE";
::SendMessage(nppData._nppHandle, NPPM_DOOPEN, 0, (LPARAM)filepath.c_str()); // works
int which = -1;
::SendMessage(nppData._nppHandle, NPPM_GETCURRENTSCINTILLA, 0, (LPARAM)&which);
HWND curScintilla = (which == 0) ? nppData._scintillaMainHandle : ppData._scintillaSecondHandle;
int line = 300; // go to line 300
::SendMessage(curScintilla, SCI_GOTOLINE, line - 1, 0); // works
::SendMessage(curScintilla, SCI_SETFIRSTVISIBLELINE, line - 1, 0); // does NOT work
//::SendMessage(curScintilla, SCI_SCROLLCARET, 0, 0); // works sometimes
Подробнее здесь: [url]https://stackoverflow.com/questions/79740493/notepad-plugin-development-in-c-cannot-jump-to-specified-line-right-after-o[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия