gjrbyek ajhev
Отредактировано Webarion (13.06.2025 14:04:50)
PureBasic - форум |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » PureBasic - форум » Вопросы по PureBasic » ScintillaGadget - нативное переключение документов.
gjrbyek ajhev
Отредактировано Webarion (13.06.2025 14:04:50)
На сколько я понимаю Scintilla создаёт один объект и не создаёт их нативно сколько угодно. Есть один объект и один дескриптор. Допускается 2 нативно в одном окне (в Notepad++ но это два объекта с разными вкладками), да это поддерживается (может больше), но редактор любой создаёт столько Scintilla, сколько вкладок в редакторе. Каждый Scintilla содержит документ собственный и при работе будет получен его дескритор и любая команда с этим дескриптором работает с конкретным документом- файлом. То есть в итоге надо создавать число Scintilla сколько юзер захочет открыть файлов. В момент открытия какой либо документ становится активным и с ним производится работа. Надо каждый раз проверять какой документ активный или кешировать хендл при смене вкладки. Для примера возьми любой редактор меняй вкладки и получай дескриптор активного документа с помощью Au3Info.exe и будет доказательство что у каждого свой дескриптор, а значит это свой собственный документ и выделенная для него память. А в dll находятся всего лишь функции по работе с документом.
Судя по описанию того раздела, там явно дано понять что это множественный просмотр, то есть не вкладки, а два документа в одном окне. То есть это не тоже самое что создавать 15 документов используя один объект.
То есть нативно допускается просмотр 2-х и более документов в одном окне, но это не значит что это один и тот же дескриптор, один и тот же объект-документ.
Отредактировано AZJIO (22.02.2023 19:20:50)
Создавать для каждой вкладки новый гаджет, дело не хитрое, но это костыль
Почему? Это нормальная практика.
Сделал используя PanelGadget, это лучше чем кнопки, так как если не умещается то есть прокрутка.
https://www.purebasic.fr/english/viewtopic.php?t=81501
Ещё бы сделать прокрутку колесом, вроде не должно быть сложностей, при событии вращения колёсика получить индекс добавить +1 сделать вкладку активной.
https://www.purebasic.fr/english/viewtopic.php?t=81501
Если выделить текст, то при переключении документов выделение теряется. Тоже происходит с позицией прокрутки. Думаю с подсветкой будет аналогично.
Все же это не замена экземплярам редактора.
Вы здесь » PureBasic - форум » Вопросы по PureBasic » ScintillaGadget - нативное переключение документов.