[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Andrey_A, simup, ХарВик, chip642  
ChooseFont_function.js - Скрипт-функция отображает шрифты
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);
}



 
  • Страница 1 из 1
  • 1
Поиск:

Интеллектуальные права и отказ от ответственности