Переключение на Главную Страницу Страницы: 1 2 [3] 4  ОтправитьПечать
Очень популярная тема (более 25 ответов) Миникласс "Меню" (контекстное) (число прочтений - 29140 )
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Миникласс "Меню" (контекстное)
Ответ #30 - 21. Июля 2011 :: 12:09
Печать  
пример можешь выложить?
  
Наверх
 
IP записан
 
Igor YN
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 40
Зарегистрирован: 13. Мая 2011
Re: Миникласс "Меню" (контекстное)
Ответ #31 - 22. Июля 2011 :: 04:53
Печать  
Хотел сделать форму, похожую на 8-ку. При выборе пункта "по автору" выпадает Меню.  (В примере "Сервис::ВыбратьЗначение", но я пробовал и класс "Меню"). После выбора в меню оно закрывается и потом вновь активируется при попадании мыши на пункт "по автору" просто ПРИ ДВИЖЕНИИ! И между прочим в ТП перестает обводиться текст в колонке (при движении мыши).
  

___________________006.ert ( 171 KB | Загрузки )
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Миникласс "Меню" (контекстное)
Ответ #32 - 22. Июля 2011 :: 05:22
Печать  
Не совсем понял, как это должно работать...для чего нужен таймер?
Не знаю, как ты планируешь использовать Меню, я использую его в событии ТП::ПриКонтекстномМеню()
  
Наверх
 
IP записан
 
Salimbek
God Member
*****
Отсутствует



Сообщений: 862
Зарегистрирован: 06. Июня 2006
Пол: Мужской
Re: Миникласс "Меню" (контекстное)
Ответ #33 - 22. Июля 2011 :: 05:29
Печать  
chessman писал(а) 22. Июля 2011 :: 05:22:
Не совсем понял, как это должно работать...для чего нужен таймер?
Не знаю, как ты планируешь использовать Меню, я использую его в событии ТП::ПриКонтекстномМеню()

Добавлю еще, что проверить код не представляется возможным, т.к. нет картинки "Картинка.Загрузить(КаталогИБ() + "РисЖурнЗаданий.bmp");"
нет и такой картинки "МенюКартинка.Загрузить("ДляМеню8_1");"
Так что до момента "потыкать и посмотреть дело не доходит. Можешь выкинуть лишнее, оставив только код, приводящий к некорректной работе меню, чтобы на пустой базе эту обработку можно было открыть, потестить, тогда можно будет чем-то реально помочь.
  
Наверх
ICQ  
IP записан
 
Igor YN
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 40
Зарегистрирован: 13. Мая 2011
Re: Миникласс "Меню" (контекстное)
Ответ #34 - 22. Июля 2011 :: 05:46
Печать  
Ладно, выкину лишнее.
А вооще был же на форуме в этой теме вопрос:
"Но, к сожалению, недостаток Сервис::ВыбратьЗначение() в форме списка справочника (см. здесь) - не устранена. Мало того - после выбора пункта контекстного меню - курсор "бегает" за мышкой до первого щелчка. ".
Было предположение:
"Однако, это проблема не объекта Сервис, а логики ловли нажатия правой кнопкой - форме необходимо сообщить о том, что кнопка отпущена, отправив соответствующее сообщение. "
Далее был совет:
"Обычный виндовый Send/PostMessage - какое сообщение - надо смотреть. Соответствующей документации под рукой нет ... первое что приходит в голову - сообщение WM_NCRBUTTONUP ... хотя туда скорее придется передать координаты, но их можно получить через GetCursorPos ... в общем, надо сесть и попробовать ... к сожалению, времени на такие пробы сейчас нет".
Может всего то и надо программно сообщить, что кнопка отпущена? Как сообщить ??? Плачущий
  
Наверх
 
IP записан
 
Igor YN
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 40
Зарегистрирован: 13. Мая 2011
Re: Миникласс "Меню" (контекстное)
Ответ #35 - 22. Июля 2011 :: 05:58
Печать  
Убрал картинки, должно работать автономно.
(выбираешь "по Автору", в появившемся меню выбираешь любой пункт, ползешь мышкой на пункт "по Автору" - и опять зачем-то выпадает меню)
  

___________________007.ert ( 171 KB | Загрузки )
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Миникласс "Меню" (контекстное)
Ответ #36 - 22. Июля 2011 :: 06:32
Печать  
Зачем ты меню вызываешь в ПриАктивизацииЯчейки()?
  
Наверх
 
IP записан
 
Igor YN
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 40
Зарегистрирован: 13. Мая 2011
Re: Миникласс "Меню" (контекстное)
Ответ #37 - 22. Июля 2011 :: 06:57
Печать  
А это чему-то противоречит? или у меню есть ограничение - здесь можно вызывать, здесь нельзя?! МЕНЮ по жизни есть меню, где программисту по смыслу задачи нужно его вызывать, там и должно работать!!
я так думал...
блин, ТП это текущий пример, в форме списка тоже самое!!!
а что, трудно программно "отжать" кнопку мыши?
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Миникласс "Меню" (контекстное)
Ответ #38 - 22. Июля 2011 :: 07:26
Печать  
Объясни тогда логику, как ты хочешь, чтоб это работало - для меня контекстное меню вызывается по правой кнопке мыши.
  
Наверх
 
IP записан
 
Igor YN
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 40
Зарегистрирован: 13. Мая 2011
Re: Миникласс "Меню" (контекстное)
Ответ #39 - 22. Июля 2011 :: 07:45
Печать  
Отбрось слово "контекстное".
Обычное это меню. Выпадающее!
Как в главном окне 1с - есть главное меню "Файл.. Действия.. Операции.....Сервис.. Помощь" (в этой роли у меня ТП из одной строки). При нажатии выпадает другое меню (в этой роли у меня Сервис::ВыбратьЗначение или твой класс "Меню"). Вот мне так хочется. Красиво можно сделать, с иконками, цветами и т.д.)
И не "контекстное" оно совсем))).
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Миникласс "Меню" (контекстное)
Ответ #40 - 22. Июля 2011 :: 10:10
Печать  
Идею понял. Но "проблема выбора" относится не к Сервис::ВыбратьЗначение. Если бы у ТП было событие - левый клик мышкой, я думаю тебе бы это помогло.

Как вариант попробуй MSComctlLib.Toolbar
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Миникласс "Меню" (контекстное)
Ответ #41 - 22. Июля 2011 :: 11:09
Печать  
Я кое-что вспомнил, может срастется....
  
Наверх
 
IP записан
 
Igor YN
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 40
Зарегистрирован: 13. Мая 2011
Re: Миникласс "Меню" (контекстное)
Ответ #42 - 22. Июля 2011 :: 11:22
Печать  
Не хочу MSComctlLib.Toolbar,  хочу ТП Улыбка
Поизвращаюсь ещё...
(если осенит чем-нибудь гениальным - выкладывай  Улыбка )
  
Наверх
 
IP записан
 
chessman
God Member
*****
Отсутствует



Сообщений: 1084
Зарегистрирован: 10. Августа 2007
Re: Миникласс "Меню" (контекстное)
Ответ #43 - 22. Июля 2011 :: 12:30
Печать  
Попробуй.
  

mouse_TP.ert ( 166 KB | Загрузки )
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: Миникласс "Меню" (контекстное)
Ответ #44 - 22. Июля 2011 :: 13:03
Печать  
Улыбка
ну везде врапперикс..

Это, может проще в ложном закрытии формы сделать выбор из меню ?
Или отдать в другое событие по таймеру и там остановить его выполнение ?
Лень проверять.
Идея простая - "выкинуть" событие "наружу" из ПриАктивизацииЯчейки
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 [3] 4 
ОтправитьПечать