|
Popup-menu
|
|||
---|---|---|---|
#18+
Люди, подскажите, пожалуйста, как создать нормальное Popup-menu, чтоб оно выскакивало по правой кнопке в некотором DW? Или где можно что-0нибудь посмотреть по этому поводу? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2004, 12:28 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
А что, хелпы отменили? Или читать ломает? PowerBuilder HELP PopMenu PowerScript function Description Displays a menu at the specified location. Controls Menu objects Syntax menuname . PopMenu ( xlocation, ylocation ) Argument Description menuname The fully qualified name of a menu on a menu bar you want to display at the specified location xlocation The distance in PowerBuilder units of the displayed menu from the left edge of the window ylocation The distance in PowerBuilder units of the displayed menu from the top of the window Return value Integer. Returns 1 if it succeeds and -1 if an error occurs. If any argument's value is NULL, PopMenu returns NULL. Usage If the menu object is not associated with the window so that it was opened when the window was opened, you must use CREATE to allocated memory for the menu (see the last example). If the Visible property of the menu is FALSE, you must make the menu visible before you can display it as a popup menu. The coordinates you specify for PopMenu are relative to the active window. In an MDI application, the coordinates are relative to the frame window, which is the active window. To display a menu at the cursor position, call PointerX and PointerY for the active window (the frame window in an MDI application) to get the coordinates of the cursor. (See the examples.) Calling PopMenu in an object script PopMenu must be called in an object script. It should not be called in a global function. --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2004, 12:37 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
IkarА что, хелпы отменили? Или читать ломает? хелпы хорошие... но только НЕТу у датавиндов координат мыши при нажатии правой клавишей..(может я ошибаюсь, но например у listwiew - точно нету...) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2004, 15:36 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
авторможет я ошибаюсь Ошибаетесь ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2004, 16:23 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
raikaryно только НЕТу у датавиндов координат мыши при нажатии правой клавишей Я всегда беру координаты с окна, а не с объекта... Может быть это и не правильно, но меня всегда спасаеть... --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2004, 19:52 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
Всем спасибо, менюшку создал. А как теперь из его пункта по-человечески обратиться к ДВ, откуда она выскакивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2004, 15:19 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
Перед вызовом Popup() помести в instance менюхи ссылку на DW ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2004, 16:10 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
2 Levon: А как теперь из его пункта по-человечески обратиться к ДВ, откуда она выскакивает? ParentWindow. TriggerEvent ('function or event name') --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2004, 16:13 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
Большое спасибо всем. Все круто! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2004, 16:53 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
Да, вот на практике что-то все труднее оказалось. Создал я триггер в окне, из которого вызывается менюха, а потом в ней пишу ParentWindow.TriggerEvent('function or event name') Но возникает ошибка - ParentWindow возвращает тип Window, а родительское окно у меня имеет тип w_sheet_opl. Явно указывать имя окна не хочется. Как быть? А можно про ссылку на окно поподробней? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2004, 10:17 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
авторНо возникает ошибка - ParentWindow возвращает тип Window, а родительское окно у меня имеет тип w_sheet_opl. Явно указывать имя окна не хочется. И не надо имя окна указывать. Почитайте в помощи повнимательней про события PowerBuilder. Вызывая TriggerEvent Вы фактически говорите PB - если событие с таким именем существует, то выполни его. Если не существует - ну и бог с ним. Никаких ошибок не возникает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2004, 15:03 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
Ну пишет же человек что возникает ошибка. Значит добился-таки как-то, несмотря на то что не должно ея быть. вот мне и любопытно - как? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2004, 16:01 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
Да ошибки нет как таковой, только не работает нифига. Пишу ParentWindow().triggerevent("ue_filterwindow(is_criteria)") При этом ParentWindow() возвращает совсем не то окно, откуда вызывалось попап-окно. Пишу w_sheet_opl.triggerevent("ue_filterwindow(is_criteria)") (w_sheet_opl - имя вызывающего окна)Но при этом ничего не происходит. Ивент не вызывается. Пишу еще тупее w_sheet_opl.dw_1.SetFilter(is_criteria) w_sheet_opl.dw_1.Filter() w_sheet_opl.wf_set_rowcounts () (То есть то, что в событии должно выполняться)Возникает ошибка Null object reference...и т.д Что я сделал не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2004, 16:57 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
LevonПри этом ParentWindow() возвращает совсем не то окно, откуда вызывалось попап-окно. 1. "попап-окно" - в смысле popup-menu? 2. Как именно вы установили, что это совсем не то окно? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
Если ll_ThisWinHandle<>ll_ParentWinHandle, тогда это разные окна. 3. LevonПишу ParentWindow().triggerevent("ue_filterwindow(is_criteria)") Гм... Функция triggerevent ожидает в качестве параметра только имя события, никаких параметров. Если Вам необходимо вызывать событие с параметрами, то воспользуйтесь таким синтаксисом: win.Dynamic ue_filterwindow(is_criteria) В этом случае предварительно стоит убедиться, что у вызывающего объекта существует такое событие (для интроспекции воспользуйтесь функциями ClassDefinition и ScriptDefinition, либо убедитесь, что класс объекта, из которого вызывается событие, тот, в котором это событие определено (функция classname()) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2004, 18:52 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
У меня есть и попап-окно, и меню. Принцип, я так понимаю, один и тот же. Главное, что мне надо достучаться до вызывыающего окна. ParentWindow() возвращает действительно не то окно. Попробовал с динамик. Событие просто не вызывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2004, 14:32 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
Покажи : - код события clicked меню - код вызываемого события Причем не из головы, а именно то, что не работает. Потому что нет такой, как ты пишешь, функции ParentWindow() в меню, а есть только свойство ParentWindow. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2004, 15:14 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
Вызов попап-окна (не меню!) по нажатию кнопки w_find_gtd lw_sheet Open(lw_sheet,"w_find_gtd",parent) В вызваном окне: ParentWindow().DYNAMIC f_filter(is_criteria) или ParentWindow().dynamic trigger event ue_filterwindow(is_criteria) И функция, и событие в вызывающем окне присутствуют. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2004, 16:03 |
|
Popup-menu
|
|||
---|---|---|---|
#18+
2 Levon : Вот здесь то и ошибка (Ваша): авторВ вызваном окне: ParentWindow().DYNAMIC f_filter(is_criteria) т.к. вызов ParentWindow().DYNAMIC f_filter(is_criteria) должен быть не в окне, а в меню! Именно меню с помощью ParentWindow() возвернет Вам окно, на котором его (меню) вызвали, и выполнит событие этого окна. А в Вашем случае ParentWindow() возвращает Вам парент-окно для Вашего попап-окна, а не для меню! Т.е. возвращает оно MDI Frame, в котором Ваше событие отсутствует... --- С уважением, IKAR ikarhomecenter@narod.ru IkarHomeCenter ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2004, 16:24 |
|
|
start [/forum/topic.php?fid=15&msg=32537212&tid=1339107]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 272ms |
0 / 0 |