Как определить включена ли опция (чекбокс пункта меню)

Russian main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Как определить включена ли опция (чекбокс пункта меню)

Post by Eskander88 »

Добрый день!

Для корректной работы скрипта необходимо определять включена ли опция (чекбокс пункта меню) в AkelPad, чтобы избежать сбоев в работе программы.

Code: Select all

// Если галочка снята с пункта "AP строка меню\Настройки\Не открывать программу дважды"
// то AkelPad зависнет
AkelPad.Command(4256); // Не открывать программу дважды (вкл\выкл)
AkelPad.Command(4102); // Создать новую копию программы
AkelPad.Command(4256); // Не открывать программу дважды (вкл\выкл)
Подскажите существует ли инструкцию в коде, чтобы определить включена ли опция «Не открывать программу дважды»?

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Re: Как определить включена ли опция (чекбокс пункта меню)

Post by opk44 »

Eskander88 wrote:Подскажите существует ли инструкцию в коде, чтобы определить включена ли опция «Не открывать программу дважды»?
См. как это реализовано, например, в скрипте ForceNewInstance.js

Offline
Posts: 157
Joined: Thu Nov 26, 2015 8:03 pm
Location: Rostov-on-Don

Post by Eskander88 »

Спасибо! Получилось

Code: Select all

var hMainWnd=AkelPad.GetMainWnd();
  if (AkelPad.SendMessage(hMainWnd, 1222 /*AKD_GETMAININFO*/, 153 /*MI_SINGLEOPENPROGRAM*/, 0))
  {
    AkelPad.Command(4256 /*IDM_OPTIONS_SINGLEOPEN_PROGRAM*/);
    hNewMainWnd=AkelPad.Command(4102 /*IDM_FILE_CREATENEW*/);
    AkelPad.Command(4256 /*IDM_OPTIONS_SINGLEOPEN_PROGRAM*/);
    AkelPad.SendMessage(hNewMainWnd, 273 /*WM_COMMAND*/, 4256 /*IDM_OPTIONS_SINGLEOPEN_PROGRAM*/, 0);
  }
  else hNewMainWnd=AkelPad.Command(4102 /*IDM_FILE_CREATENEW*/);
Post Reply