Интерфейс Action

Объект Action - действие объединяет в себе все черты таких элементов интерфейса как пункты меню и кнопки на панелях инструментов. Подробнее...

Граф наследования:Action:

Inheritance graph
Граф связей класса Action:

Collaboration graph
Полный список членов класса

Открытые члены

 Remove ([in] VARIANT Index)
 Метод позволяет удалить элемент из коллекции.
 Clear ()
 Метод очищает коллекцию, удаляя все элементы.
 ExChange ([in] VARIANT A,[in] VARIANT B)
 Метод меняет местами элементы в коллекции.
 Add ([in] VARIANT Item,[in, optional] VARIANT Key,[out, retval] IDispatch **pControl)
 Метод позволяет добавить в конец коллекции новый или существующий элемент.
 Insert ([in] LONG Index,[in] VARIANT Item,[in, optional] VARIANT Key,[out, retval] IDispatch **pControl)
 Метод позволяет добавить в коллекцию новый или существующий элемент, в отличие от метода Add он добавляет элемент в нужную позицию.
 NewLine ([out, retval] IDispatch **pControl)
 Метод позволяет добавить в конец коллекции новый элемент - разделитель, вместо этого можно использовать методы Add или Insert с параметром newVal равным "-".

Свойства

LPUNKNOWN R _NewEnum []
 Это свойство реализует функционирование объекта Action как коллекции, его не нужно вызывать напрямую.
VARIANT RW Item [[in] long Index] []
 Свойство позволяет обратиться к элементам коллекции.
long R Count []
 Свойство позволяет получить количество элементов в коллекции.
IDispatch *RW Images []
 Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для элементов коллекции.
BSTR RW Text []
 Свойство определяет текст объекта, если текст является "-" то объект считается разделителем.
LONG RW ImageIndex []
 Свойство определяет индекс изображения в списке изображений, определенном свойством Images родительского объекта Action.
VARIANT_BOOL RW Enabled []
 Свойство разрешает\запрещает активизацию элемента, кнопки или пункта меню.
VARIANT_BOOL RW Checked []
 Свойство определяет в нажатом состоянии находится объект или нет, свойство CheckBox или RadioCheck должно быть установлено в значение "TRUE".
VARIANT_BOOL RW Visible []
 Свойство определяет видимость элемента.
VARIANT_BOOL RW CheckBox []
 Свойство определяет, является ли элемент переключателем.
VARIANT_BOOL RW RadioCheck []
 Свойство определяет, является ли элемент зависимым переключателем, группа зависимых элементов определяется как все последовательные элементы, с установленным значением этого свойства в "TRUE".
VARIANT_BOOL RW AllowAllUp []
 Свойство определяет возможность нахождения всех зависимых переключателей в состоянии со свойством Checked равным "FALSE".
VARIANT_BOOL RW Default []
 Свойство определяет что элемент является элементом по умолчанию, учитывается только для пунктов меню, пункт меню по умолчанию выделяется полужирным шрифтом.
IDispatch *R Control []
 Свойство определяет компонент, соответствующий объекту, можно анализировать в событиях, зависит от ситуации, например:.
IDispatch *R Form []
 Форма, определяется по значению свойства Control.
IDispatch *R Items []
 Свойство - этот же объект.
VARIANT RW Hint []
 Объект Hint определяющий параметры отображения строки подсказки, связанной с объектом.
VARIANT_BOOL RW Break []
 Означает что объект является началом новой колонки.
VARIANT RW Key []
 Сочетание клавиш связанное с объектом
VARIANT_BOOL RW DismissonClick []
 Используется только для TaskBar.
VARIANT_BOOL RW Noninteractive []
 Используется только для TaskBar.
VARIANT_BOOL RW Nobackground []
 Используется только для TaskBar.
VARIANT_BOOL RW WholeDropDown []
 Используется для ToolBar.
VARIANT W OnExecute []
 Свойство позволяет задать обработчик события OnExecute через 2-й уровень.
VARIANT W OnUpdate []
 Свойство позволяет задать обработчик события OnUpdate.

Подробное описание

Объект Action - действие объединяет в себе все черты таких элементов интерфейса как пункты меню и кнопки на панелях инструментов.

Часто в существующих интерфейсах многие элементы дублируются, для одних и тех же действий существуют и пункты меню и кнопки на панелях инструментов. Класс Action делает подобное дублирование очень простым. Для одного действия не требуется создавать отдельные объекты различных типов для создания пункта меню и кнопки. Достаточно создать один объект Action, и в последствие, просто добавлять его нужные списки. Action одновременно является и коллекцией объектов Action. Его метод Add позволяет одновременно добавить в список и новый объект и существующий, с уже определенными параметрами. Свойство формы Menu, компонентов PopupMenu, панели меню Menu и панели инструментов Buttons имеют этот тип.

Action поддерживает события группы ActionEvents

Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")

o.EnableVisualStyles = true

f = o.CreateForm(0,0,0,0)

f.Text = "WSO"
f.ClientWidth = 300
f.ClientHeight = 100
f.CenterControl()

ReBar = f.CreateReBar(0,0,0,0)
ReBar.Align = o.Translate("AL_TOP")
ReBar.BandBorders = true
MenuBar = ReBar.CreateMenuBar(0,0,0,0)
FileMenu = MenuBar.Menu.Add("File")
ToolBar = ReBar.CreateToolBar(0,0,0,0)
ToolBar.Buttons.Add("Button1")
ToolBar.Buttons.Add("Button2")
ToolBar.Buttons.Add("Button3")
ToolBar.Buttons.Add("Button4")
ToolBar.Buttons.Add("Button5")
ToolBar.ShowText = true

with (FileMenu.Add("Open","CTRL+O"))
{
        OnExecute = OpenFile
}

FileMenu.Add("-")

with (FileMenu.Add("Exit","ESC"))
{
        OnExecute = CloseForm
}

HelpMenu = MenuBar.Menu.Add("Help")
with (HelpMenu.Add("Help","F1"))
{
        OnExecute = Help
}

f.Show()

o.Run()


function CloseForm(Sender)
{
        f.Close()
}

function OpenFile(Sender)
{
        //Some code...
}

function Help(Sender)
{
        //Some code...
}

Результат:

MenuBar1.jpg
MenuBar2.jpg


Методы

Add ( [in] VARIANT  Item,
[in, optional] VARIANT  Key,
[out, retval] IDispatch **  pControl 
)

Метод позволяет добавить в конец коллекции новый или существующий элемент.

Аргументы:
Item определяет элемент, если это строка символов - создается новый элемент, если существующий объект Action он добавляется в коллекцию. Если параметр - строка символов он определяет текст нового объекта Action, в случае если строка является знаком "-" то создается разделитель, который также можно создать методом NewLine.
Key определяет сочетание клавиш клавиатуры, при котором элемент будет активизироваться (возникает событие OnClick), этот параметр используется только при создании новых элементов, может быть числом или строкой
Возвращаемые значения:
pControl в случае создания возвращает новый созданный объект, в случае добавления существующего элемента возвращает добавленный элемент, то есть тот же самый, что указан параметром newVal

Clear (  ) 

Метод очищает коллекцию, удаляя все элементы.

ExChange ( [in] VARIANT  A,
[in] VARIANT  B 
)

Метод меняет местами элементы в коллекции.

Аргументы:
A определяет первый элемент, может быть как числом, так и указателем на элемент коллекции
B определяет второй элемент, может быть как числом, так и указателем на элемент коллекции

Insert ( [in] LONG  Index,
[in] VARIANT  Item,
[in, optional] VARIANT  Key,
[out, retval] IDispatch **  pControl 
)

Метод позволяет добавить в коллекцию новый или существующий элемент, в отличие от метода Add он добавляет элемент в нужную позицию.

Аргументы:
Index требуемая позиция для элемента
Item идентичен параметру метода Add
Key идентичен параметру метода Add
Возвращаемые значения:
pControl 

NewLine ( [out, retval] IDispatch **  pControl  ) 

Метод позволяет добавить в конец коллекции новый элемент - разделитель, вместо этого можно использовать методы Add или Insert с параметром newVal равным "-".

Пример:

o = new ActiveXObject("Scripting.WindowSystemObject")

o.EnableVisualStyles = true

f = o.CreateForm(0,0,0,0)

f.Text = "WSO"
f.ClientWidth = 170
f.ClientHeight = 100
f.CenterControl()

menu = f.Menu.Add("File")

menu.Add("Item 1")
menu.NewLine()
menu.Add("Item 2")


f.Show()

o.Run()

Результат:

ActionSeparator.jpg

Remove ( [in] VARIANT  Index  ) 

Метод позволяет удалить элемент из коллекции.

Аргументы:
Index определяет элемент, может быть как числом, так и указателем на элемент коллекции


Полный список свойств

LPUNKNOWN R _NewEnum

Это свойство реализует функционирование объекта Action как коллекции, его не нужно вызывать напрямую.

VARIANT_BOOL RW AllowAllUp

Свойство определяет возможность нахождения всех зависимых переключателей в состоянии со свойством Checked равным "FALSE".

Зависимые переключатели определяются по свойство RadioCheck. По умолчанию имеет значение "FALSE".

VARIANT_BOOL RW Break

Означает что объект является началом новой колонки.

Пример:

o = new ActiveXObject("Scripting.WindowSystemObject")

o.EnableVisualStyles = true

f = o.CreateForm(0,0,0,0)

f.Text = "WSO"
f.ClientWidth = 370
f.ClientHeight = 150
f.CenterControl()

menu = f.Menu.Add("File")

menu.Add("Item 1")
menu.Add("Item 2")
menu.Add("Item 3")
menu.Add("Item 4")
menu.Add("Item 5").Break = true
menu.Add("Item 6")
menu.Add("Item 7")
menu.Add("Item 8")

f.Show()

o.Run()

Результат:

ActionColumns.jpg

VARIANT_BOOL RW CheckBox

Свойство определяет, является ли элемент переключателем.

Пример:

o = new ActiveXObject("Scripting.WindowSystemObject")

o.EnableVisualStyles = true

f = o.CreateForm(0,0,0,0)

f.Text = "WSO"
f.ClientWidth = 370
f.ClientHeight = 150
f.CenterControl()

menu = f.Menu.Add("File")

check1 = menu.Add("Item 1")
check1.CheckBox = true
check1.Checked = true

check1 = menu.Add("Item 2")

ToolBar = f.CreateToolBar(100,10,250,25)
ToolBar.ShowText = true
ToolBar.Buttons = menu

f.Show()

o.Run()

Результат:

ActionCheck.jpg

VARIANT_BOOL RW Checked

Свойство определяет в нажатом состоянии находится объект или нет, свойство CheckBox или RadioCheck должно быть установлено в значение "TRUE".

IDispatch* R Control

Свойство определяет компонент, соответствующий объекту, можно анализировать в событиях, зависит от ситуации, например:.

long R Count

Свойство позволяет получить количество элементов в коллекции.

VARIANT_BOOL RW Default

Свойство определяет что элемент является элементом по умолчанию, учитывается только для пунктов меню, пункт меню по умолчанию выделяется полужирным шрифтом.

VARIANT_BOOL RW DismissonClick

Используется только для TaskBar.

Если "TRUE", то окно эскиза автоматически закрывается при нажатии на кнопку. По умолчанию "FALSE"

Начиная с:
1.1.9.

VARIANT_BOOL RW Enabled

Свойство разрешает\запрещает активизацию элемента, кнопки или пункта меню.

Его можно менять в обработчике события OnUpdate.

IDispatch* R Form

Форма, определяется по значению свойства Control.

VARIANT RW Hint

Объект Hint определяющий параметры отображения строки подсказки, связанной с объектом.

Заметки:
Свойству можно присваивать строку, это изменяет свойство Text объекта Hint.
Пример:

o = new ActiveXObject("Scripting.WindowSystemObject")

o.EnableVisualStyles = true

f = o.CreateForm(0,0,0,0)

f.Text = "WSO"
f.ClientWidth = 170
f.ClientHeight = 100
f.CenterControl()

ToolBar = f.CreateToolBar(10,40,150,25)
ToolBar.ShowText = true

buttons = ToolBar.buttons

item1 = buttons.Add("Item 1")
item1.Hint = "This is Item 1"
item1.Hint.Visible = true
item1.Hint.Balloon = true

buttons.NewLine()

item2 = buttons.Add("Item 2")
item2.Hint = "This is Item 2"
item2.Hint.Visible = true

item3 = buttons.Add("Item 3")

f.Show()

o.Run()

Результат:

ActionHint.jpg

LONG RW ImageIndex

Свойство определяет индекс изображения в списке изображений, определенном свойством Images родительского объекта Action.

Родительский объект определяется в зависимости от ситуации, так как Action может быть элементом нескольких коллекций одновременно. Когда активизируется меню родительский объект один, когда пользователь нажимает кнопку на панели инструментов, соответствующую данному объекту Action, родительский элемент другой.

Значение по умолчанию: "-1", что означает что индекс неопределен.

IDispatch* RW Images

Свойство позволяет определить параметры объекта ImageList, определяющего набор картинок для элементов коллекции.

Для элементов можно задавать индекс в этом списке через свойство ImageIndex.

Заметки:
можно задать существующий объект, так и просто обратиться к свойству для чтения, при этом объект создается автоматически если требуется.

VARIANT RW Item[[in] long Index] (  ) 

Свойство позволяет обратиться к элементам коллекции.

Аргументы:
Index индекс элемента

IDispatch* R Items

Свойство - этот же объект.

VARIANT RW Key

Сочетание клавиш связанное с объектом

VARIANT_BOOL RW Nobackground

Используется только для TaskBar.

Если "TRUE", то граница кнопки не показывается. По умолчанию "FALSE"

Начиная с:
1.1.9.

VARIANT_BOOL RW Noninteractive

Используется только для TaskBar.

Если "TRUE", Кнопка отображается но ее нельзя нажать. Применяется для отображения статуса чего-либо или уведомления. По умолчанию "FALSE"

Начиная с:
1.1.9.

VARIANT W OnExecute

Свойство позволяет задать обработчик события OnExecute через 2-й уровень.

VARIANT W OnUpdate

Свойство позволяет задать обработчик события OnUpdate.

VARIANT_BOOL RW RadioCheck

Свойство определяет, является ли элемент зависимым переключателем, группа зависимых элементов определяется как все последовательные элементы, с установленным значением этого свойства в "TRUE".

Пример (JScript):

o = new ActiveXObject("Scripting.WindowSystemObject")

o.EnableVisualStyles = true

f = o.CreateForm(0,0,0,0)

f.Text = "WSO"
f.ClientWidth = 370
f.ClientHeight = 150
f.CenterControl()

ToolBar = f.CreateToolBar(100,10,250,25)
ToolBar.ShowText = true

with (ToolBar.Buttons.Add("Item 1"))
{
        RadioCheck = true
}
with (ToolBar.Buttons.Add("Item 2"))
{
        RadioCheck = true
}
with (ToolBar.Buttons.Add("Item 3"))
{
        RadioCheck = true
}
ToolBar.Buttons.Add("-")
with (ToolBar.Buttons.Add("Item 4"))
{
        RadioCheck = true
}
with (ToolBar.Buttons.Add("Item 5"))
{
        RadioCheck = true
}

ToolBar.Buttons.Text = "File"
f.Menu.Add(ToolBar.Buttons)

f.Show()

o.Run()

Результат:
ActionRadioGroup.jpg

BSTR RW Text

Свойство определяет текст объекта, если текст является "-" то объект считается разделителем.

VARIANT_BOOL RW Visible

Свойство определяет видимость элемента.

VARIANT_BOOL RW WholeDropDown

Используется для ToolBar.

Если объект имеет дочерние элементы, то по умолчанию, в ToolBar справа от кнопки показывается кнопка отображения подменю. При этом можно нажать как на саму кнопку, так и на кнопку с подменю. Если "TRUE", будет отображаться только одна кнопка, по нажатию на которое появляется подменю. Требуется Comctl32.dll версии 5.80 (Windows 2000, Windows Me или последующие версии или Internet Explorer 5).

Начиная с:
1.1.15.


Документация по WSO 1.1. Последние изменения:Wed Aug 12 18:10:23 2015. (C) Веретенников А. Б. 2004-2015