ABC, popup в Browse
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- SergioRaguzini
- Старожил
- Сообщения: 211
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 2 раза
ABC, popup в Browse
Привет Всем!
В небольшом приложении на С6.3 ABC, хочу, чтобы некая "Кнопка" (не входящая в список стандартных "Добавить, Изменить, Удалить") также добавилась в качестве дополнительного пункта popup меню вызываемого по пр.кнопке мыши. Пытаюсь использовать для этого шаблон "DisplayPopupMenu", если применить его к кнопке, то тут все OK, но можно ли применять этот шаблон к Browse и если Да, то в каком Embeds его использовать. Или в этой ситуации можно поправить иначе?
Спасибо
p.s. использую, в основном Legаcy, поэтому прошу совета
В небольшом приложении на С6.3 ABC, хочу, чтобы некая "Кнопка" (не входящая в список стандартных "Добавить, Изменить, Удалить") также добавилась в качестве дополнительного пункта popup меню вызываемого по пр.кнопке мыши. Пытаюсь использовать для этого шаблон "DisplayPopupMenu", если применить его к кнопке, то тут все OK, но можно ли применять этот шаблон к Browse и если Да, то в каком Embeds его использовать. Или в этой ситуации можно поправить иначе?
Спасибо
p.s. использую, в основном Legаcy, поэтому прошу совета
-
- ✯ Ветеран ✯
- Сообщения: 4676
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 5 раз
- Поблагодарили: 3 раза
ABC, popup в Browse
Где-то я писал уже об этом. Ладно, повторю.
В методе SetAlerts класса BrowseClass после ParentCall:
Последние четыре вызова только для расширенного класса (скачать можно с ftp).
В методе 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)
We are hard at work… for you. 

- Игорь Столяров
- Ветеран движения
- Сообщения: 6753
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 5 раз
- Поблагодарили: 26 раз
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
- Старожил
- Сообщения: 211
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 2 раза
ABC, popup в Browse
- SergioRaguzini
- Старожил
- Сообщения: 211
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 2 раза
ABC, popup в Browse
место вставки тоже - в методе SetAlerts класса BrowseClass после ParentCall ?
Игорь Столяров писал(а): ↑01 Апрель 2023, 13:46 Без дополнительных прибамбасов можно также менять текст и иконку
(например если одна и таже кнопка в разных режимах работает на изменение или просмотр записи)
...
- Игорь Столяров
- Ветеран движения
- Сообщения: 6753
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 5 раз
- Поблагодарили: 26 раз
ABC, popup в Browse
Мона и так. Но мы проще делаем - при вызове SELF.SetAlerts() после открытия окна.SergioRaguzini писал(а): ↑01 Апрель 2023, 13:55 методе SetAlerts класса BrowseClass после ParentCall
И свои пункты в 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
- Старожил
- Сообщения: 211
- Зарегистрирован: 08 Декабрь 2009, 19:16
- Откуда: Краснодарский край
- Благодарил (а): 2 раза
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 3971
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 3 раза
- Поблагодарили: 9 раз
ABC, popup в Browse
Неужели в abc все это ручками пишут? Каменный век какой-то. 

C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 6753
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 5 раз
- Поблагодарили: 26 раз
ABC, popup в Browse
Таки есть варианты ? Научите !

Только без заброшенных 20-ти летних шаблонов, из-за которых потом проекты обречены на пожизненное Legacy.

Совершенство достигается не когда нечего добавить, а когда нечего отнять !
- Дед Пахом
- Старичок
- Сообщения: 3034
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 3 раза
- Поблагодарили: 17 раз
- Контактная информация:
ABC, popup в Browse
Вообще-то есть кодовый шаблон DisplayPopupMenu - идёте в Embeds, жмёте Insert, выбираете DisplayPopupMenu. Никогда не пользовался хотя.
С уважением, ДП
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 3971
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 3 раза
- Поблагодарили: 9 раз
ABC, popup в Browse
Я могу показать, как это еще в конце 90-х было реализовано в ШВС. А в abc уж сами. Я думаю, что наверняка в каких-нибудь 3d party шаблонах такое тоже есть. Странно, что SV за 25 лет такой очевидный механизм в свой базовый набор не включило. Может, просто не знаете, как это у них делается? Лень в abc шаблонах искать, у меня по ним идеологические разногласия, не интересны.
C6/C11, ШВС, tps/btrieve.
- finsoftrz
- ✯ Ветеран ✯
- Сообщения: 3971
- Зарегистрирован: 06 Ноябрь 2014, 12:48
- Благодарил (а): 3 раза
- Поблагодарили: 9 раз
ABC, popup в Browse
В ШВС устанавливается в параметрах шаблона browse. В несколько модифицированном виде выглядит так.
C6/C11, ШВС, tps/btrieve.
- Игорь Столяров
- Ветеран движения
- Сообщения: 6753
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 5 раз
- Поблагодарили: 26 раз
ABC, popup в Browse
Реально есть ! Странно, что я и им никогда не пользовался ...

Совершенство достигается не когда нечего добавить, а когда нечего отнять !