ABC, popup в Browse

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 235
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

ABC, popup в Browse

Сообщение SergioRaguzini »

Привет Всем!

В небольшом приложении на С6.3 ABC, хочу, чтобы некая "Кнопка" (не входящая в список стандартных "Добавить, Изменить, Удалить") также добавилась в качестве дополнительного пункта popup меню вызываемого по пр.кнопке мыши.
popup.png
Пытаюсь использовать для этого шаблон "DisplayPopupMenu", если применить его к кнопке, то тут все OK, но можно ли применять этот шаблон к Browse и если Да, то в каком Embeds его использовать. Или в этой ситуации можно поправить иначе?

Спасибо

p.s. использую, в основном Legаcy, поэтому прошу совета
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

ABC, popup в Browse

Сообщение kreator »

Где-то я писал уже об этом. Ладно, повторю.
В методе SetAlerts класса BrowseClass после ParentCall:

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

self.Popup.AddItem('-', 'SeparatorCopy')
self.Popup.AddItemMimic('Copy', ?Copy3Button, 'Скопировать номер и наименование ПТ')
self.Popup.SetIcon('Copy', '~pics\copy28.ico')
self.Popup.SetFontName('Copy', 'Segoe UI')
self.Popup.SetFontSize('Copy', 12)
self.Popup.SetBackgroundColor('Copy', COLOR:KreatoRSecondBGNormal)
self.Popup.SetSelBackgroundColor('Copy', COLOR:KreatoRSelBackground)
Последние четыре вызова только для расширенного класса (скачать можно с ftp).
We are hard at work… for you. :)
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

ABC, popup в Browse

Сообщение kreator »

На ftp как раз пример для меню броуза.
We are hard at work… for you. :)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

ABC, popup в Browse

Сообщение Дед Пахом »

Короче, ищите в справке "AddItemMimic".
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ABC, popup в Browse

Сообщение Игорь Столяров »

Без дополнительных прибамбасов можно также менять текст и иконку
(например если одна и таже кнопка в разных режимах работает на изменение или просмотр записи)

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

    BRW1.Popup.AddItemMimic('View',?View,'Накладная<9>F3')
    If ... then BRW1.Popup.SetIcon('View',Icon:View).  ! Изменить иконку в PopUp menu по условию

    BRW1.Popup.SetText('Delete','Удалить<9>Del')  ! Изменить текст кнопки добавляемой в PopUp меню шаблоном
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 235
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

ABC, popup в Browse

Сообщение SergioRaguzini »

kreator писал(а): 01 Апрель 2023, 13:33 Где-то я писал уже об этом. Ладно, повторю.
В методе SetAlerts класса BrowseClass после ParentCall
Да, я читал, viewtopic.php?p=22836&hilit=popup#p22836 но где должна быть вставка не понял

Спасибо :ty:
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 235
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

ABC, popup в Browse

Сообщение SergioRaguzini »

место вставки тоже - в методе SetAlerts класса BrowseClass после ParentCall ?
Игорь Столяров писал(а): 01 Апрель 2023, 13:46 Без дополнительных прибамбасов можно также менять текст и иконку
(например если одна и таже кнопка в разных режимах работает на изменение или просмотр записи)
...
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ABC, popup в Browse

Сообщение Игорь Столяров »

SergioRaguzini писал(а): 01 Апрель 2023, 13:55 методе SetAlerts класса BrowseClass после ParentCall
Мона и так. Но мы проще делаем - при вызове SELF.SetAlerts() после открытия окна.
И свои пункты в PopUp меню можно добавлять выше или ниже добавленных шблоном.
Ещё можно добавлять группы пунктов меню - но это уже совсем другая история. :)

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

  ! Setting up browse toolbar control on TOborot
  ! [Priority 8800]
    BRW1.Popup.AddItemMimic('Calc',?Calc,'Запрос<9>F12')
    BRW1.Popup.AddItem('-','Separatop1')
  ! Prepare Alert Keys
  
  SELF.SetAlerts()
  
  ! [Priority 9500]
    BRW1.Popup.AddItem('-','Separatop2')
    BRW1.Popup.AddItemMimic('SelectAll',?SelectAll,'Все выбрать<9>Ctrl+A')
    BRW1.Popup.AddItemMimic('DeSelect', ?DeSelect, 'Все отменить<9>Ctrl+D')
    BRW1.Popup.AddItemMimic('Invert',   ?Invert,   'Ивертировать<9>Ctrl+I')
    BRW1.Popup.AddItem('-','Separatop3')
    BRW1.Popup.AddItemMimic('Refresh',?Refresh,'Обновить<9>F5')
  oHH &= NEW tagHTMLHelp
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 235
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

ABC, popup в Browse

Сообщение SergioRaguzini »

Спасибо Всем за отклики!
:ty:
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4559
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ABC, popup в Browse

Сообщение finsoftrz »

Неужели в abc все это ручками пишут? Каменный век какой-то. :sur:
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ABC, popup в Browse

Сообщение Игорь Столяров »

finsoftrz писал(а): 01 Апрель 2023, 16:08 Каменный век какой-то.
Таки есть варианты ? Научите ! :)
Только без заброшенных 20-ти летних шаблонов, из-за которых потом проекты обречены на пожизненное Legacy. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

ABC, popup в Browse

Сообщение Дед Пахом »

Вообще-то есть кодовый шаблон DisplayPopupMenu - идёте в Embeds, жмёте Insert, выбираете DisplayPopupMenu. Никогда не пользовался хотя.
С уважением, ДП
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4559
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ABC, popup в Browse

Сообщение finsoftrz »

Я могу показать, как это еще в конце 90-х было реализовано в ШВС. А в abc уж сами. Я думаю, что наверняка в каких-нибудь 3d party шаблонах такое тоже есть. Странно, что SV за 25 лет такой очевидный механизм в свой базовый набор не включило. Может, просто не знаете, как это у них делается? Лень в abc шаблонах искать, у меня по ним идеологические разногласия, не интересны.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4559
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ABC, popup в Browse

Сообщение finsoftrz »

Дед Пахом писал(а): 01 Апрель 2023, 17:32 Вообще-то есть кодовый шаблон DisplayPopupMenu - идёте в Embeds, жмёте Insert, выбираете DisplayPopupMenu. Никогда не пользовался хотя.
В ШВС устанавливается в параметрах шаблона browse. В несколько модифицированном виде выглядит так.

popup.jpg
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ABC, popup в Browse

Сообщение Игорь Столяров »

Дед Пахом писал(а): 01 Апрель 2023, 17:32 есть кодовый шаблон DisplayPopupMenu
Реально есть ! Странно, что я и им никогда не пользовался ... :)
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить