Как отловить выбор рукописного пункта Popup меню?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Здравствуйте, уважаемое кларион-сообщество. То ли праздники удались, то ли одно из двух. Но никак не получается отловить событие при выборе мной созданного пункта Popup меню. (C55H, АВС). Его я создаю внесением в Local Objects – Abc Objects – Browse of MyFile using ?Browse:1 (BrowseClass) – SetAlerts PROCEDURE, VIRTUAL – Code – Parent Call следующего кода: SELF.Popup.AddItem('Put in Personal Photo','PutPhoto').
В каком месте и что надо написать, что бы при выборе этого пункта меню, к примеру, отработал мессадж (Message(‘Ура, разаботало!’)?
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Сообщение StillZero »

как вариант: можно использовать MimicButton, точное название метода не помню, что то вроде AddMimicButton или AddMimicItem, т.е. вдополнении к твоему коду нужно добавить self.Popup.AddMimicButton('PutPhoto',?PutPhoto). На сам browse нужно положить кнопку и назвать ее ?PutPhoto, добавить ей атрибут hide, чтобы ее не было видно. На кнопку пишешь код, который необходимо выполнять и при нажатии в выпадающем меню твоего пункта будет выполняться код, написанный в кнопке.

удачи...

Написал: PAA(27)
Гость

Сообщение Гость »

Так я все ити годы и делал. Только вот надоели все эти скрытые кнопки. Захотелось просто код отработать. Вроде бы и время на это было (праздники). Только вот до сих пор так и не разобрался с этим. Жаль... Или еще не все потерено...?
Аватара пользователя
StillZero
Ветеран
Сообщения: 458
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Поблагодарили: 1 раз
Контактная информация:

Сообщение StillZero »

вообще...я делаю всегда так:
1. Описываю класс MyListBoxPopup PopupClass
2. На Init окна пишу код для инита класса и заполняю его пунктами:

Код: Выделить всё

 
 MyListBoxPopup.Init()
 MyListBoxPopup.AddItem('Добавить','Insert')
 ...
 MyListBoxPopup.AddItem('первый пункт','MyItem1')
 MyListBoxPopup.AddItem('второй пункт','MyItem2')
 ...... 
3. Alert на ?ListBox - MouseRight
4. на event-ы лист-бокса на AlertKey код:

Код: Выделить всё

 if keycode()=MouseRight
    case MyListBoxPopup.Ask()
       of 'MyItem1'
           ...
       of 'MyItem2'
           ...
    end
 end
... вообщем и целом вот так, а насчет кнопок - IMHO это хорошее решение :) и красивое, может ты не знаешь куда их положить, ну типа там места не хватает: клади прямо на ListBox - ровными рядами и колонками :) будет красиво :)

удачи...

Написал: PAA(27)
Ответить