Дело в том, что нужен не сам HexSel, а сохранение и восстановление выделения (конкретно вот тут).
Posted: Thu Apr 17, 2014 8:52 am
by Infocatcher
Нужно вывести некий прогресс, хотелось использовать для этого заголовок окна (как самый простой вариант), но как при этом потом восстановить оригинальный заголовок в MDI-режиме?
Проблема в том, что user32::GetWindowTextW() возвращает реальный заголовок, а если потом выставить полученное через user32::SetWindowTextW(), то изменяемая часть заголовка будет прибавляться в конец добавленного (и будет двоиться). Если при восстановлении вписать «AkelPad», то работает корректно, но вот как получить эту базовую часть программно?
Infocatcher
I forgot to write that this trick should be used only if frame window is maximized (oSys.Call("User32::IsZoomed", hWndFrame)). viewtopic.php?p=22843
Posted: Fri Apr 18, 2014 5:33 am
by Infocatcher
KDJ wrote:I forgot to write that this trick should be used only if frame window is maximized (oSys.Call("User32::IsZoomed", hWndFrame)).
Похоже, что в какой-то из последних версий «Scripts.dll» перестал запускаться скрипт SetCoderExt.js. Вернее он запускается и тут же завершается.
Подскажите, пожалуйста, что в нем необходимо изменить?
Posted: Fri Apr 18, 2014 1:16 pm
by FeyFre
Instructor wrote:FeyFre History.js. Запускаю скрипт из диалога Scripts, мелькает окошко и тут же исчезает. При удалении History.ini результат тот же. WinXP x86.
KDJ wrote:Instructor
FileAndStream.js and Translator.js does not work.
It seems to me that a bug is in AkelPad.WindowSubClass() method.
[Yustas.NeO] wrote:Похоже, что в какой-то из последних версий «Scripts.dll» перестал запускаться скрипт SetCoderExt.js. Вернее он запускается и тут же завершается.
Подскажите, пожалуйста, что в нем необходимо изменить?
Это к Инструктору Товарищ KDJ довольно точно определил место бага. AkelPad.WindowSubClass() больше не сабкласит главное окно АР если ей передали её главный хендл. Если передают псевдохендл(1), то да работает. Когда отвалилось не знаю, похоже в районе v13.4 - там описывался фикс сабкласинга.
Infocatcher wrote:Дело в том, что нужен не сам HexSel, а сохранение и восстановление выделения (конкретно вот тут).
Это можно в RenameFile.js посмотреть.
FeyFre
Методу WindowSubClass нельзя передавать дескриптор главного окна - он вернет 0. Необходимо в скриптах вместо дескриптора использовать WindowSubClass(1 /*WSC_MAINPROC*/...).
Instructor, а хендл окна редактирования тоже нельзя?
Posted: Fri Apr 18, 2014 3:26 pm
by Instructor
FeyFre
Указанное выше касается только главного окна. "WindowSubClass(2 /*WSC_EDITPROC*/...)" устанавливается для всех окон редактирования, "WindowSubClass(hWndEdit...)" для одного окна.
Instructor, а какже совместимость назад? Вот 2 скрипта на пустом месте отвалилось, а ведь внутри можно было бы и проверить хендел, вместо того что-бы в скрипте каждый городил.
Я так понимаю WindowUnsubClass это тоже касается?
Я бы с удовольствие пользовался 1 и 2 и 3, если бы они были собственно именованными константами а не просто магическими числами. До-определять их в каждом скрипте тоже извиняюсь не формат.