Здравствуйте, c-smile, Вы писали:
CS>или имеется ввиду что-то другое?
отловил WM_LBUTTONDOWN и WM_MOUSEMOVE, захватил, расчитал кто пересекается, пометил элементы как выделенные и изменил атрибуты. Потом отловил WM_COPY и выдал plaintext — это костыль необходимый для htmlayout мне
Здравствуйте, nullptr_t, Вы писали:
_>Здравствуйте, c-smile, Вы писали:
CS>>или имеется ввиду что-то другое?
_>отловил WM_LBUTTONDOWN и WM_MOUSEMOVE, захватил, расчитал кто пересекается, пометил элементы как выделенные и изменил атрибуты. Потом отловил WM_COPY и выдал plaintext — это костыль необходимый для htmlayout мне
Чем это в принципе отличается от
sciter/sdk/samples/ideas/rect-tracker/rect-tracker-demo.htm (смотреть в Sciter)
плюс что-нибудь типа
class RectTracker: Behavior
{
...
function onKey(evt)
{
if( evt.type == Event.KEY_DOWN &&
evt.ctrlKey &&
evt.keyCode = 'C' )
return doCopy();
}
function doCopy()
{
var str = "";
for(var el in this.$$([covered])
str += el.text + "\r\n";
view.clipboard(#put, str );
}
}
Аналогичный код можно воспроизвести в native behavior для htmlayout.
Этот самый RectTracker добавляет атрибут "covered" для элементов под rect.
Соотв. CSS их стилирует.
Здравствуйте, nullptr_t, Вы писали:
_>эм, а в htmlayout можно тоже самое сделать? скитер тяжевесен для меня (признаюсь апи только видел, не курил)
Как я сказал можно и в htmlayout такое написать. class RectTracker становится native behavior и все.
А вообще Sciter это htmlayout + script. Встраивание — совершенно идентично.
tiscript.h[pp] это optional, т.е. если хватает htmlayout API то без своих классов для скрипта то tiscript.h даже и смотреть не надо.
Если нужно какую-нибудь функциональность выставить в script то см. class CMainFrame в sciter\sdk\sciter\mainfrm.h
Прописываем карту функций:
class CMainFrame ...
{
...
// functions accessible through view.funcname() from script:
BEGIN_FUNCTION_MAP
FUNCTION_V("debug", method_debug)
FUNCTION_1("shellExec", method_shellExec)
END_FUNCTION_MAP
}
function launchNotepad()
{
view.shellExec("notepad.exe"); // call of method_shellExec() on the view.
}
Просто многие функции в скрипте делаются красивее. Ну и если не хочется исходники показывать то есть tiscript.exe которым можно их комплировать в bytecode. И включать этот bytecode в ресурсы или еще куда.