Andrey_A | Дата: Четверг, 29.03.2012, 17:07 | Сообщение № 1 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7191
Награды: 143
Репутация: 125
Аверин Андрей
|
Скрипт-функция отображает диалоговое окно с выбором шрифтов.
Доступно только для пользователей
|
|
| |
Andrey_A | Дата: Пятница, 30.03.2012, 09:18 | Сообщение № 2 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7191
Награды: 143
Репутация: 125
Аверин Андрей
|
Примеры использования функции ChooseFont
Code /// ChooseFont_examples.js // http://tc-image.3dn.ru/forum/9-274-907-16-1333084714 // Примеры использования функции ChooseFont // Examples of use ChooseFont function // Version: 2011-09-27 // Author: KDJ // // Usage: // Call("Scripts::Main", 1, "ChooseFont_examples.js")
AkelPad.Include("ChooseFont_function.js");
WScript.Echo("Example 1\nChange font in AkelPad edit window.\nChooseFont displays only fixed-width fonts."); Example1();
WScript.Echo("Example 2\nChange font in AkelPad edit window, another method.\nChooseFont displays all fonts."); Example2();
WScript.Echo("Example 3\nChange font in AkelPad status bar.\nChooseFont displays effects."); Example3();
WScript.Echo("Example 4\nOpens ContextMenu plugin dialog and change font in edit control.\nChooseFont displays effects."); Example4();
function Example1() { //Example 1. //Change font in AkelPad edit window. //ChooseFont displays only fixed-width fonts.
var hMainWnd = AkelPad.GetMainWnd(); var hEditWnd = AkelPad.GetEditWnd(); var lpLOGFONT = ChooseFont(hMainWnd, 4, hEditWnd, 0, 1, 1);
if (lpLOGFONT) AkelPad.SendMessage(hMainWnd, 1234 /*AKD_SETFONT*/, 0, lpLOGFONT);
AkelPad.MemFree(lpLOGFONT); }
function Example2() { //Example 2. //Change font in AkelPad edit window, another method. //ChooseFont displays all fonts.
var hMainWnd = AkelPad.GetMainWnd(); var hEditWnd = AkelPad.GetEditWnd(); var aFont = ChooseFont(hMainWnd, 4, hEditWnd, 0, 0, 3);
if (aFont) AkelPad.Font(aFont[0], aFont[1], aFont[2]); }
function Example3() { //Example 3. //Change font in AkelPad status bar. //ChooseFont displays effects.
var hMainWnd = AkelPad.GetMainWnd(); var hStatBar = AkelPad.SystemFunction().Call("user32::FindWindowEx" + _TCHAR, hMainWnd, 0, "msctls_statusbar32" , 0); var hFont;
if (hStatBar) { if (hFont = ChooseFont(hMainWnd, 4, hStatBar, 1, 0, 2)) AkelPad.SendMessage(hStatBar, 48 /*WM_SETFONT*/, hFont, true); } }
function Example4() { //Example 4. //Opens ContextMenu plugin dialog and change font in edit control. //ChooseFont displays effects.
var oSys = AkelPad.SystemFunction(); var sPlugWndName = "ContextMenu "; var nStopTime = new Date().getTime() + 1000; var hPlugWnd; var hCtrlWnd; var hFont;
if (AkelPad.GetLangId(1 /*LANGID_PRIMARY*/) == 0x19 /*LANG_RUSSIAN*/) sPlugWndName += "плагин"; else sPlugWndName += "plugin";
AkelPad.Call("ContextMenu::Main", 1, 1);
while(! (hPlugWnd = oSys.Call("user32::FindWindow" + _TCHAR, 0, sPlugWndName)) || ! (hCtrlWnd = oSys.Call("user32::FindWindowEx" + _TCHAR, hPlugWnd, 0, "RichEdit20" + _TCHAR, 0))) { if (new Date().getTime() > nStopTime) return; WScript.Sleep(5); }
if (hFont = ChooseFont(hPlugWnd, 4, hCtrlWnd, 1, 0, 2)) AkelPad.SendMessage(hCtrlWnd, 48 /*WM_SETFONT*/, hFont, true); }
|
|
| |