View previous topic :: View next topic |
Author |
Message |
Infocatcher
Joined: 06 Aug 2007 Posts: 1767
|
|
Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1929 Location: Poland
|
Posted: Sat Mar 02, 2013 5:43 pm Post subject: |
|
|
AkelEdit.h wrote: | AEM_SETRECT
...
(RECT *)lParam == pointer to a RECT structure that specifies the new dimensions of the rectangle. If this parameter is NULL, the formatting rectangle is set to its default values. |
AkelPad crashes when executing the following:
Code: | AkelPad.SendMessage(AkelPad.GetEditWnd(), 3178 /*AEM_SETRECT*/, 1 /*AERC_UPDATE*/, 0); |
|
|
Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1929 Location: Poland
|
Posted: Sat Mar 02, 2013 10:25 pm Post subject: |
|
|
Translator.js
Improved function listening the text - now there is no limit to 100 characters.
Added border to the active edit window.
Fixed an error in the file Translator.ini. |
|
Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1929 Location: Poland
|
Posted: Wed Mar 06, 2013 7:51 pm Post subject: |
|
|
Translator.js
Improved "Listen" function for long texts.
Added "Listen" to the context menu.
Added hotkeys:
Ctrl+L - listen entire text from active edit panel,
Ctrl+Shift+L - listen selected text from active edit panel. |
|
Back to top |
|
 |
akkorn
Joined: 08 Feb 2013 Posts: 39
|
Posted: Thu Mar 07, 2013 6:05 am Post subject: |
|
|
Подскажите пожалуйста, как можно получить/ задать текст определенной вкладке (например, вкладке с номером 2)? hWnd вкладки тоже известен. |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Thu Mar 07, 2013 6:16 am Post subject: |
|
|
KDJ
Code: | AkelPad.SendMessage(AkelPad.GetEditWnd(), 3178 /*AEM_SETRECT*/, 1 /*AERC_UPDATE*/, 0); | Fixed. |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Thu Mar 07, 2013 6:19 am Post subject: |
|
|
akkorn
Переключиться на вкладку (AKD_FRAMEACTIVATE), если не активна, и использовать AkelPad.SetSel, AkelPad.ReplaceSel, AkelPad.GetSelText, AkelPad.GetTextRange. |
|
Back to top |
|
 |
akkorn
Joined: 08 Feb 2013 Posts: 39
|
Posted: Thu Mar 07, 2013 6:33 am Post subject: |
|
|
Instructor wrote: | akkorn
Переключиться на вкладку (AKD_FRAMEACTIVATE), если не активна, и использовать AkelPad.SetSel, AkelPad.ReplaceSel, AkelPad.GetSelText, AkelPad.GetTextRange. |
А без визуального переключения?
Задача стоит- найти во всех вкладках сочетание символов (напр. "asd") и вывести номера вкладок в msgbox. при этом хотелось бы,что бы интерфейс не "прыгал".
Спасибо. |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Thu Mar 07, 2013 6:45 am Post subject: |
|
|
akkorn
Без переключения будет работать только в MDI: используем AKD_FRAMEFIND для перебора вкладок, получаем FI_WNDEDIT с помощью AKD_GETFRAMEINFO и передаем дескриптор окна редактирования в TextFind. |
|
Back to top |
|
 |
akkorn
Joined: 08 Feb 2013 Posts: 39
|
Posted: Thu Mar 07, 2013 7:21 am Post subject: |
|
|
Instructor wrote: | akkorn
Без переключения будет работать только в MDI: используем AKD_FRAMEFIND для перебора вкладок, получаем FI_WNDEDIT с помощью AKD_GETFRAMEINFO и передаем дескриптор окна редактирования в TextFind. |
А как можно проверить, использует ли пользователь MDI режим? |
|
Back to top |
|
 |
Infocatcher
Joined: 06 Aug 2007 Posts: 1767
|
Posted: Thu Mar 07, 2013 7:38 am Post subject: |
|
|
akkorn
AkelFiles\Docs\Scripts-Rus.txt wrote: | Code: | AkelPad.IsMDI
_____________
Проверить использование многооконного режима (MDI).
IsMDI();
Возвращаемое значение
0 //WMD_SDI Одноконный режим (SDI).
1 //WMD_MDI Многооконный режим (MDI).
2 //WMD_PMDI Псевдо-многооконный режим (PMDI).
Пример:
var nMDI=AkelPad.IsMDI(); |
|
|
|
Back to top |
|
 |
akkorn
Joined: 08 Feb 2013 Posts: 39
|
Posted: Thu Mar 07, 2013 9:31 am Post subject: |
|
|
Infocatcher
Спасибо, все получилось.
Скажите, а как можно получить весь текст определенной вкладки? Везде требуется диапазон, а нам он как раз не известен..
Last edited by akkorn on Mon Mar 11, 2013 5:00 am; edited 2 times in total |
|
Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1929 Location: Poland
|
|
Back to top |
|
 |
FeyFre
Joined: 07 Aug 2007 Posts: 2240 Location: Vinnitsa, Ukraine
|
Posted: Thu Mar 07, 2013 7:29 pm Post subject: |
|
|
akkorn, используй AkelPad.Include("win32\user32.js") там есть все константы используемые для работы с пользовательской частью WINAPI |
|
Back to top |
|
 |
KDJ
Joined: 06 Mar 2010 Posts: 1929 Location: Poland
|
Posted: Thu Mar 07, 2013 9:23 pm Post subject: |
|
|
akkorn wrote: | Скажите, а как можно получить весь текст определенной вкладки? Везде требуется диапазон, а нам он как раз не известен.. |
The following code (GetTextFromTab.js) works in MDI and PMDI mode:
Code: | if (AkelPad.IsMDI() > 0) //MDI or PMDI
{
var nTab = 2; //zero-based tab index
var hMainWnd = AkelPad.GetMainWnd();
var lpFrameTab = AkelPad.SendMessage(hMainWnd, 1290 /*AKD_FRAMEFINDW*/, 8 /*FWF_BYTABINDEX*/, nTab);
if (lpFrameTab)
{
AkelPad.SendMessage(hMainWnd, 11 /*WM_SETREDRAW*/, false, 0);
var lpFrameCur = AkelPad.SendMessage(hMainWnd, 1285 /*AKD_FRAMEACTIVATE*/, 0, lpFrameTab);
var sText = AkelPad.GetTextRange(0, -1);
AkelPad.SendMessage(hMainWnd, 1285 /*AKD_FRAMEACTIVATE*/, 0, lpFrameCur);
AkelPad.SendMessage(hMainWnd, 11 /*WM_SETREDRAW*/, true, 0);
WScript.Echo(sText.substr(0, 50000));
}
} |
|
|
Back to top |
|
 |
|