Scripts discussion (2)
- Author
 - Message
 
- 
				
								Offline
 - Posts: 1949
 - Joined: Sat Mar 06, 2010 7:40 pm
 - Location: Poland
 
AkelPad crashes when executing the following: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.
Code: Select all
AkelPad.SendMessage(AkelPad.GetEditWnd(), 3178 /*AEM_SETRECT*/, 1 /*AERC_UPDATE*/, 0);- 
				
								Offline
 - Posts: 1949
 - Joined: Sat Mar 06, 2010 7:40 pm
 - Location: Poland
 
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.
			
			
									
																
						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.
- 
				
								Offline
 - Posts: 1949
 - Joined: Sat Mar 06, 2010 7:40 pm
 - Location: Poland
 
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.
			
			
									
																
						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.
- 
				
								Offline
 - Site Admin
 - Posts: 6412
 - Joined: Thu Jul 06, 2006 7:20 am
 
KDJ
Fixed.
			
			
									
																
						Code: Select all
AkelPad.SendMessage(AkelPad.GetEditWnd(), 3178 /*AEM_SETRECT*/, 1 /*AERC_UPDATE*/, 0);- 
				
								Offline
 - Posts: 39
 - Joined: Fri Feb 08, 2013 6:49 am
 
А без визуального переключения?Instructor wrote:akkorn
Переключиться на вкладку (AKD_FRAMEACTIVATE), если не активна, и использовать AkelPad.SetSel, AkelPad.ReplaceSel, AkelPad.GetSelText, AkelPad.GetTextRange.
Задача стоит- найти во всех вкладках сочетание символов (напр. "asd") и вывести номера вкладок в msgbox. при этом хотелось бы,что бы интерфейс не "прыгал".
Спасибо.
- 
				
								Offline
 - Posts: 39
 - Joined: Fri Feb 08, 2013 6:49 am
 
- 
				
								Offline
 - Posts: 1879
 - Joined: Mon Aug 06, 2007 1:07 pm
 - Contact:
 
akkorn
			
			
									
																
						AkelFiles\Docs\Scripts-Rus.txt wrote:Code: Select all
AkelPad.IsMDI _____________ Проверить использование многооконного режима (MDI). IsMDI(); Возвращаемое значение 0 //WMD_SDI Одноконный режим (SDI). 1 //WMD_MDI Многооконный режим (MDI). 2 //WMD_PMDI Псевдо-многооконный режим (PMDI). Пример: var nMDI=AkelPad.IsMDI();
- 
				
								Offline
 - Posts: 1949
 - Joined: Sat Mar 06, 2010 7:40 pm
 - Location: Poland
 
akkorn
Read AkelPad sources: http://sourceforge.net/projects/akelpad ... &download=
			
			
									
																
						Read AkelPad sources: http://sourceforge.net/projects/akelpad ... &download=
WM_USER = 1024 (hex 0x400): http://msdn.microsoft.com/pl-pl/library ... 85%29.aspxAkelDLL.h wrote:#define AKD_GETTEXTLENGTH (WM_USER + 161)
- 
				
								Offline
 - Posts: 1949
 - Joined: Sat Mar 06, 2010 7:40 pm
 - Location: Poland
 
The following code (GetTextFromTab.js) works in MDI and PMDI mode:akkorn wrote:Скажите, а как можно получить весь текст определенной вкладки? Везде требуется диапазон, а нам он как раз не известен..
Code: Select all
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));
  }
}