Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Вызов Menu окна MDI из другого окна.  [new]
Endymion
Member

Откуда:
Сообщений: 41
Проблема следующая :

Существует MDI с меню. Открывается окно наподобие, как в SAP.
В том окне можно выбрать какое именно под-меню, нажать и при нажатии открывается то или иное окно.
Получается что при нажатии на вспомогательное окно я должен вызвать какое то событие click в меню MDI. Самое простое решение конечно это
w_mdi_frame.mdi_menu.XXX.YYY.trigger event click()

но это решение не красивое и не динамическое.
Возможно ли вызвать через функцию Send событие выбора конкретного меню ?
19 май 05, 00:27    [1553404]     Ответить | Цитировать Сообщить модератору
 Re: Вызов Menu окна MDI из другого окна.  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Вы должны наследоваться от того меню MDI, дописать свои пункты, указать это меню в дочернем окне и забыть про всякие SEND :)
19 май 05, 00:45    [1553416]     Ответить | Цитировать Сообщить модератору
 Re: Вызов Menu окна MDI из другого окна.  [new]
Endymion
Member

Откуда:
Сообщений: 41
Окно которое всё это должно запускать, состоит из datawindow.
То есть всё дерево меню берётся из базы данных.
В таблице хранится информация о уровне меню, имени (title) меню итд. Допустим там будет хранится и имя меню (имя объекта), но даже в таком случае как можно вызвать событие имея имя вызываемого объекта в переменной стринг ?
Если же, я унаследую меню MDI, чем мне это может помочь ?
19 май 05, 09:13    [1553728]     Ответить | Цитировать Сообщить модератору
 Re: Вызов Menu окна MDI из другого окна.  [new]
Ikar
Member

Откуда: Москва
Сообщений: 928
Endymion
как можно вызвать событие имея имя вызываемого объекта в переменной стринг ?

PowerBuilder Help

ClassName PowerScript function:
Syntax 1 For any object

Description
Provides the class (or name) of the specified object.
Syntax
controlname.Classname ( )
...
Return value
String. Returns the class of controlname, the name assigned to the control. Returns the empty string ("") if an error occurs. If controlname is null, ClassName returns null.

Пройтись по Sheet'ам, с помощью ClassName найти нужный, вызвать его событие...
А вообще то в меню проще использовать вызов
ParentWindow.TriggerEvent( 'string event name' )
---
С уважением, IKARКартинка с другого сайта.
ikarhomecenter@narod.ru
IkarHomeCenter
19 май 05, 11:19    [1554359]     Ответить | Цитировать Сообщить модератору
 Re: Вызов Menu окна MDI из другого окна.  [new]
Endymion
Member

Откуда:
Сообщений: 41
ParentWindow.TriggerEvent( 'string event name' )

eto esli iz menu vizvat window

a tut iz window nado vizvat menu :)
19 май 05, 12:08    [1554666]     Ответить | Цитировать Сообщить модератору
 Re: Вызов Menu окна MDI из другого окна.  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Endymion
ParentWindow.TriggerEvent( 'string event name' )

eto esli iz menu vizvat window

a tut iz window nado vizvat menu :)

Значит наоборот:
menu m
m = MenuID
m.TriggerEvent( 'eventname' )
А событие в меню уж само дальше решает, что надо делать.
19 май 05, 13:07    [1555035]     Ответить | Цитировать Сообщить модератору
 Re: Вызов Menu окна MDI из другого окна.  [new]
Endymion
Member

Откуда:
Сообщений: 41
spasibo.
reshenie ClassName pomoglo :)
19 май 05, 13:44    [1555301]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить