ABC, popup в Browse
Модератор: Дед Пахом
					Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
	При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- SergioRaguzini
 - Старожил
 - Сообщения: 261
 - Зарегистрирован: 08 Декабрь 2009, 19:16
 - Откуда: Краснодарский край
 - Благодарил (а): 21 раз
 
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, поэтому прошу совета
- 
				kreator
 - ✯ Ветеран ✯
 - Сообщения: 5235
 - Зарегистрирован: 28 Май 2009, 15:54
 - Откуда: Москва
 - Благодарил (а): 11 раз
 - Поблагодарили: 26 раз
 
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.   
			
						- Игорь Столяров
 - Ветеран движения
 - Сообщения: 8269
 - Зарегистрирован: 07 Июль 2005, 10:19
 - Откуда: г. Ростов-на-ДоМу
 - Благодарил (а): 34 раза
 - Поблагодарили: 106 раз
 
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
 - Старожил
 - Сообщения: 261
 - Зарегистрирован: 08 Декабрь 2009, 19:16
 - Откуда: Краснодарский край
 - Благодарил (а): 21 раз
 
ABC, popup в Browse
Да, я читал, viewtopic.php?p=22836&hilit=popup#p22836 но где должна быть вставка не понялkreator писал(а): 01 Апрель 2023, 13:33 Где-то я писал уже об этом. Ладно, повторю.
В методе SetAlerts класса BrowseClass после ParentCall
Спасибо
- SergioRaguzini
 - Старожил
 - Сообщения: 261
 - Зарегистрирован: 08 Декабрь 2009, 19:16
 - Откуда: Краснодарский край
 - Благодарил (а): 21 раз
 
ABC, popup в Browse
место вставки тоже - в методе SetAlerts класса BrowseClass после ParentCall ?
			
			
									
						Игорь Столяров писал(а): 01 Апрель 2023, 13:46 Без дополнительных прибамбасов можно также менять текст и иконку
(например если одна и таже кнопка в разных режимах работает на изменение или просмотр записи)
...
- Игорь Столяров
 - Ветеран движения
 - Сообщения: 8269
 - Зарегистрирован: 07 Июль 2005, 10:19
 - Откуда: г. Ростов-на-ДоМу
 - Благодарил (а): 34 раза
 - Поблагодарили: 106 раз
 
ABC, popup в Browse
Мона и так. Но мы проще делаем - при вызове 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
 - Старожил
 - Сообщения: 261
 - Зарегистрирован: 08 Декабрь 2009, 19:16
 - Откуда: Краснодарский край
 - Благодарил (а): 21 раз
 
- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
ABC, popup в Browse
Неужели в abc все это ручками пишут? Каменный век какой-то.  
			
			
									
						C6/C12, ШВС, tps/btrieve.
			
						- Игорь Столяров
 - Ветеран движения
 - Сообщения: 8269
 - Зарегистрирован: 07 Июль 2005, 10:19
 - Откуда: г. Ростов-на-ДоМу
 - Благодарил (а): 34 раза
 - Поблагодарили: 106 раз
 
ABC, popup в Browse
Таки есть варианты ? Научите !
Только без заброшенных 20-ти летних шаблонов, из-за которых потом проекты обречены на пожизненное Legacy.
За теми, кто отстал, не возвращаться ! 
 Кодекс
			
						- Дед Пахом
 - Старичок
 - Сообщения: 3346
 - Зарегистрирован: 07 Июль 2005, 16:51
 - Откуда: Москва, Россия
 - Благодарил (а): 20 раз
 - Поблагодарили: 56 раз
 - Контактная информация:
 
ABC, popup в Browse
Вообще-то есть кодовый шаблон DisplayPopupMenu - идёте в Embeds, жмёте Insert, выбираете DisplayPopupMenu. Никогда не пользовался хотя.
			
			
									
						С уважением, ДП
			
						- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
ABC, popup в Browse
Я могу показать, как это еще в конце 90-х было реализовано в ШВС. А в abc уж сами. Я думаю, что наверняка в каких-нибудь 3d party шаблонах такое тоже есть. Странно, что SV за 25 лет такой очевидный механизм в свой базовый набор не включило. Может, просто не знаете, как это у них делается? Лень в abc шаблонах искать, у меня по ним идеологические разногласия, не интересны.
			
			
									
						C6/C12, ШВС, tps/btrieve.
			
						- finsoftrz
 - ✯ Ветеран ✯
 - Сообщения: 5567
 - Зарегистрирован: 06 Ноябрь 2014, 12:48
 - Благодарил (а): 18 раз
 - Поблагодарили: 78 раз
 
ABC, popup в Browse
В ШВС устанавливается в параметрах шаблона browse. В несколько модифицированном виде выглядит так.Дед Пахом писал(а): 01 Апрель 2023, 17:32 Вообще-то есть кодовый шаблон DisplayPopupMenu - идёте в Embeds, жмёте Insert, выбираете DisplayPopupMenu. Никогда не пользовался хотя.
C6/C12, ШВС, tps/btrieve.
			
						- Игорь Столяров
 - Ветеран движения
 - Сообщения: 8269
 - Зарегистрирован: 07 Июль 2005, 10:19
 - Откуда: г. Ростов-на-ДоМу
 - Благодарил (а): 34 раза
 - Поблагодарили: 106 раз
 
ABC, popup в Browse
Реально есть ! Странно, что я и им никогда не пользовался ...
За теми, кто отстал, не возвращаться ! 
 Кодекс
			
						