powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблема с переназначением popup меню для u_dw
5 сообщений из 5, страница 1 из 1
Проблема с переназначением popup меню для u_dw
    #32389880
blackman_odessa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо прицепить свое контекстное меню к датавиндоу. Наследовал m_dw, модифицировав по вкусу. Cохранил предположим как m_dw_new. Теперь в обработчик нажатия правой кнопки мыши(?) для u_dw вставляю следующее:
lm_dw create m_dw_new
lm_dw.of_setparent(this) т.е. классика из документации любой
Ну и энто все ессно не работает(стал бы я тогда спрашивать!). Вместо моего меню открывается стандартное. В связи с этим есть вопросы:
1) и главный. Как отучить u_dw от стандартного popup menu?
2) почему в доке используется обработчик нажатия прав. кнопки мыши для того шоб создать копию обьекта и присоединить его к u_dw. Ведь это будет происходить при каждом нажатии на эту кнопку. Или я шо-то не понимаю?
А кто будет эти объекты уничтожать?
3)Я только начал играться с PB и потому вопрос - шо за странный способ привязки обьектов? Для меня понятна привязка меню к датавиндоу, а не датавиндоу к меню. Нажали кнопку и датавиндоу должно знать что открыть. Подобное повсеместно используется в PFC и надо к этому привыкать? В СBuildere каждый объект имеет ассоциированное с ним меню, которое фигурирует в его свойствах.
...
Рейтинг: 0 / 0
Проблема с переназначением popup меню для u_dw
    #32389902
Moiseeff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В событии pfc_PreRMBMenu:

Код: plaintext
1.
if not IsNull(am_dw) and IsValid(am_dw) then Destroy am_dw
am_dw= Create m_dw_new

Смотри событие RButtonUp
...
Рейтинг: 0 / 0
Проблема с переназначением popup меню для u_dw
    #32389911
blackman_odessa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за скорый ответ. Действительно работает - оно и понятно. Пара вопросов - откуда такое решение взялось? я видел несколько раз упоминание об объекте с именем am_dw. Я логически понимаю шо это за объект, но я не видел нормального описания его в доке по pfc( у меня она есть в виде виндового хелпа и в виде пдф). Как в таких случаях искать решение проблемы, если на документацию положиться толком нельзя?
...
Рейтинг: 0 / 0
Проблема с переназначением popup меню для u_dw
    #32391462
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строго говоря, m_dw - это уже расширение (от pfc_m_dw ) специально предназначенное для модификации по вкусу.
Поэтому я бы делал так:
1) модификации по вкусу делал бы в m_dw , сделав их все NOT visible and disabled.
2) В конкретном наследнике от u_dw, в котором тебе нужны эти модификации, скриптал бы событие pfc_prermbmenu в котором enable, make visible те menuitems, которые надо (и не занимался бы никакими Destroy/Create, которые ко всему прочему сводят насмарку ВСЁ, что написано в событии rbuttonup pfc_u_dw , которое собственно и надо читать вместо документации :-) )
...
Рейтинг: 0 / 0
Проблема с переназначением popup меню для u_dw
    #32391649
blackman_odessa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, Филипп! Очень ценный совет! Честно говоря меня не сильно радует перспектива разбирать чужие проги, шоб решить свои проблемы, но в этом есть, безусловно, и масса плюсов. Я не лазил в ранее в pfc_xxxxxxx объекты и, соответственно, не видел всех этих скриптов. Поэтому я не понимал шо значит смотри такое-то событие... Теперь-то я понимаю, шо есть по крайней мере перспектива получить ответы на свои вопросы... Я думаю для меня вопрос (и может не один) исчерпан... Еще раз спасибо всем!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблема с переназначением popup меню для u_dw
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]