PopUp плюс иконки - проблема

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

PopUp плюс иконки - проблема

Сообщение gopstop2007 »

Столкнулся при выводе на кнопке (?btn_FotoMenu) Popup меню вместо иконок, одна через .AddItem и PROP:Icon не выводится вместо иконки выводится в таком виде [83562PROP:Icon & '(MyIcon.ICO)]Просмотр , а вторая строка .AddItemMimic выводит с иконкой как должно быть.Проблема решилась подменой .AddItemMimic на .AddItem , вместе они при наличии в них иконок "не живут" :idied: Пример ниже, может где-то я лажанулся :)

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

 PopupRefers.Init() 
 PopupRefers.AddItem('[' & PROP:Icon & '(MyIcon.ICO)]Просмотр','FotoSee')
 PopupRefers.AddItemMimic('Save',?Save)	! ??---  проблема ----?????????

 PopSelectedItem=''
 if GetWindowRect(?btn_FotoMenu{Prop:Handle},address(loc:Rect))        
     PopSelectedItem=PopupRefers.Ask(loc:Rect.rLeft,loc:Rect.rBottom) 
 end
 
 CASE PopSelectedItem 
 OF 'FotoSee'
     DO MyRun
 OF 'Save'
 
 END
 PopupRefers.Kill() 
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

PopUp плюс иконки - проблема

Сообщение kreator »

А если сделать через шаблон "DisplayPopupMenu"? А если воспользоваться методом SetIcon? У меня нет проблем ни в одной версии Clarion.
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

PopUp плюс иконки - проблема

Сообщение gopstop2007 »

kreator писал(а):А если сделать через шаблон "DisplayPopupMenu"?
Не пользовался данным шаблоном , ручками наглядней на пару строк
kreator писал(а):А если воспользоваться методом SetIcon? У меня нет проблем ни в одной версии Clarion.
спасибо, не знал об данном методе для popup :)
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

PopUp плюс иконки - проблема

Сообщение kreator »

gopstop2007 писал(а):ручками наглядней на пару строк
Шаблон удобней во сто крат, отлаженная веками вещь. И посмотреть можно, что он генерит. И потом написать ручками также. Пример стандартного:

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

  PopupMgr5.Init(INIMgr)
  PopupMgr5.AddItem('Табельный журнал','1')
  PopupMgr5.AddItem('Табельный журнал с выработкой','2')
  PopupMgr5.AddItem('Отчет о фактически отработанном времени ','3')
  PopupMgr5.AddItem('Отчёт о закрытии ПТ','4')
  PopupMgr5.SetIcon('1','~pics\excel16.ico')
  PopupMgr5.SetIcon('2','~pics\excel16.ico')
  PopupMgr5.SetIcon('3','~pics\excel16.ico')
  PopupMgr5.SetIcon('4','~pics\excel16.ico')
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

PopUp плюс иконки - проблема

Сообщение gopstop2007 »

согласен, но раз шаблон то могли подвязать и иконку :), а как привязка шаблона popup, например к кнопке?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
kreator
✯ Ветеран ✯
Сообщения: 5161
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 11 раз
Поблагодарили: 26 раз

PopUp плюс иконки - проблема

Сообщение kreator »

SV, видимо, считает, что надо работать только через Mimic Button :D . А к кнопке привязывается просто. В embeds на событие Accepted вызываешь этот шаблон, и всё. Но есть неприятная на мой взгляд недоработка, текст генерится без привязки к координатам:

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

LOC:PopupMenuString=PopupMgr18.Ask()

Я обхожу это дело вот так:

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

      omit('***')
      
      LOC:PopupMenuString=PopupMgr18.Ask()
      ! [Priority 4999]
      ***
      GetWindowRect(?Export{prop:Handle}, rcCtrl)
      LOC:PopupMenuString = PopupMgr18.Ask(rcCtrl.Left, rcCtrl.Bottom)
      case LOC:PopupMenuString
        of '1'
                do Export1
        of '2'
                do Export2
      end
Может, не знаю чего.
We are hard at work… for you. :)
gopstop2007
Полимат
Сообщения: 1810
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 24 раза
Поблагодарили: 10 раз

PopUp плюс иконки - проблема

Сообщение gopstop2007 »

Спасибо огромное :)
kreator писал(а):

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

      omit('***')
      
      LOC:PopupMenuString=PopupMgr18.Ask()
      ! [Priority 4999]
      ***
      GetWindowRect(?Export{prop:Handle}, rcCtrl)
      LOC:PopupMenuString = PopupMgr18.Ask(rcCtrl.Left, rcCtrl.Bottom)
      case LOC:PopupMenuString
        of '1'
                do Export1
        of '2'
                do Export2
      end
Может, не знаю чего.
похожее у меня было вверху :cat:
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить