| View previous topic :: View next topic |
| Author |
Message |
FeyFre
Joined: 07 Aug 2007 Posts: 1907 Location: Vinnitsa, Ukraine
|
Posted: Thu Feb 03, 2011 4:03 pm Post subject: |
|
|
VladSh
PS:
Вот такой кусочек кода может вам поможет | Code: | | var frame = AkelPad.SendMessage(hmain, AKD_FRAMEFIND,FWF_CURRENT,0); | Я бы написал больше, но пока не в силах устно на ходу просчитать смещение поля. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Thu Feb 03, 2011 6:58 pm Post subject: |
|
|
FeyFre
Пасиба, но я сам ничего не понял...
AKD_FRAMEFIND нигде ничему не равно (не знаю, что туда передавать), а FWF_CURRENT = 1. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1907 Location: Vinnitsa, Ukraine
|
Posted: Thu Feb 03, 2011 8:27 pm Post subject: |
|
|
VladSh
Все AKD_* объявлены в AkelDll.h как WM_USER + ### | Code: | #define AKD_FRAMEFIND (WM_USER + 264)
#define AKD_FRAMEFINDA (WM_USER + 265)
#define AKD_FRAMEFINDW (WM_USER + 266) | WM_USER объявлен в PlatformSDK(Windows SDK) в файле WinUser.h как 0x0400
Сообщение AKD_FRAMEFIND возвращает указатель на внутреннюю структуру Акеле FRAMEDATA (берем там в том же AkelDll.h) - структура которая содержит всю индивидуальную информацию вкладки(каждой вкладке своя, в SDI - в единичном экземпляре)
В общем, пока рылся, нашел путь прямее | Code: | var tabstob = AkelPad.SendMessage(hWndEdit, AEM_GETTABSTOP,0,0);
// Манипулируем tabstob
AkelPad.SendMessage(hWndEdit, AEM_SETTABSTOP,tabstop,0);
// AEM_SETTABSTOP = WM_USER + 2216
// AEM_GETTABSTOP = WM_USER + 2215
// WM_USER = 0x0400
|
Тут мы напрямую у контролла спрашиваем размер табов, и устанавливаем его, без участия FRAMEDATA. Соотв. оно в настройки не попадет. Но с другой стороны, сколько оно буде держатся в окне тоже понятия не имею. |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1440
|
Posted: Thu Feb 03, 2011 10:43 pm Post subject: |
|
|
openRelativeFile.js
Небольшие улучшения + поддержка вложенных манифестов (только один уровень, дока молчит, примеров с большей вложенностью не видать, а проверять лениво). |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Fri Feb 04, 2011 7:46 am Post subject: |
|
|
| FeyFre wrote: | | Тут мы напрямую у контролла спрашиваем размер табов, и устанавливаем его, без участия FRAMEDATA. Соотв. оно в настройки не попадет. Но с другой стороны, сколько оно буде держатся в окне тоже понятия не имею. | Спасибо огромное за помощь!
Всё отлично: изменения только для текущей вкладки; размер таба держится на всё время жизни вкладки. Это именно то, что мне было нужно!
P.S. В скрипт Instructor'а добавил дополнительный аргумент (при его наличии настройки программы не меняются) и отправил ему в личку. |
|
| Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 1907 Location: Vinnitsa, Ukraine
|
Posted: Fri Feb 04, 2011 8:34 am Post subject: |
|
|
| Quote: | | Всё отлично: изменения только для текущей вкладки; размер таба держится на всё время жизни вкладки. | Все usecase-попробовали? Как оно себя ведет при разделении окон и обратно? |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Fri Feb 04, 2011 8:54 am Post subject: |
|
|
FeyFre
Все или нет, не знаю.. но при разделении окон работает правильно: изменяется во всех частях сразу, не сбрасывается при снятии разделения окна. |
|
| Back to top |
|
 |
se7h
Joined: 28 Sep 2009 Posts: 764 Location: Minsk, Belarus
|
Posted: Fri Feb 04, 2011 9:52 am Post subject: |
|
|
а если добавить возможость открытия файлов в ассоциированных программах будет вообще атас
jpg во вьювере, mp3 в плеере и т.д. |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1440
|
Posted: Fri Feb 04, 2011 1:19 pm Post subject: |
|
|
| se7h wrote: |
а если добавить возможость открытия файлов в ассоциированных программах будет вообще атас
jpg во вьювере, mp3 в плеере и т.д. | Не понятно, как различать, что открывать в AkelPad'e, а что – по системной ассоциации.
Впрочем, начать можно и со списка расширений.  |
|
| Back to top |
|
 |
se7h
Joined: 28 Sep 2009 Posts: 764 Location: Minsk, Belarus
|
Posted: Fri Feb 04, 2011 1:28 pm Post subject: |
|
|
| Infocatcher wrote: | | se7h wrote: |
а если добавить возможость открытия файлов в ассоциированных программах будет вообще атас
jpg во вьювере, mp3 в плеере и т.д. | Не понятно, как различать, что открывать в AkelPad'e, а что – по системной ассоциации.
Впрочем, начать можно и со списка расширений.  |
возможно, файл можно проверить на бинарность? и затем открыть такой в другой программе
если что, список тоже решение |
|
| Back to top |
|
 |
Fr0sT
Joined: 24 Jul 2007 Posts: 855
|
Posted: Fri Feb 04, 2011 1:43 pm Post subject: |
|
|
| Quote: | | возможно, файл можно проверить на бинарность? |
Как?
А различать, в чем запускать, можно параметром. |
|
| Back to top |
|
 |
se7h
Joined: 28 Sep 2009 Posts: 764 Location: Minsk, Belarus
|
Posted: Fri Feb 04, 2011 1:52 pm Post subject: |
|
|
| Fr0sT wrote: | | Quote: | | возможно, файл можно проверить на бинарность? |
Как?
А различать, в чем запускать, можно параметром. |
| Scripts-Rus.txt wrote: | AkelPad.OpenFile
________________
Открыть файл.
OpenFile(pFile[, nFlags][, nCodePage][, bBOM]);
Аргументы
pFile
Файл для открытия.
nFlags
0x1 //OD_ADT_BINARY_ERROR Проверить является ли файл бинарным.
... |
как-то так  |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1440
|
Posted: Fri Feb 04, 2011 2:42 pm Post subject: |
|
|
| se7h wrote: | как-то так  | Как-то так будет
| Quote: | AkelPad
---------------------------
"...\l.gif" бинарный файл. Продолжить?
---------------------------
ОК Отмена |
На ОК вернет 0, а на Отмена – -12.
Сделал: openRelativeFile.js
Если на запрос AkelPad'а выбрать отмену, то будет использована системная ассоциация. |
|
| Back to top |
|
 |
se7h
Joined: 28 Sep 2009 Posts: 764 Location: Minsk, Belarus
|
Posted: Fri Feb 04, 2011 3:04 pm Post subject: |
|
|
ИМО лучше белый список с расширениями, чем костыль с отменной
впрочем, одно другому не мешает, если будет возможность выбрать свой вариант |
|
| Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1440
|
Posted: Fri Feb 04, 2011 3:19 pm Post subject: |
|
|
| Тогда нужна возможность заставить AkelPad.OpenFile() молчать на бинарных файлах (и не открывать их). |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|