на свою панель инструментов. При клине по меню, я показываю только основные пункты. Ну а если нажму на кнопку, хочу чтобы были видны все. Нет ли какого такого заклинания, как бы это сделать? Пока вижу решение в добавлении обычной иконки и при ее нажатии делать переформирование списка. Вариант то в прочем неплохой, но может есть решение по красивей?
Хочу поместить вот такую кнопку
на свою панель инструментов. При клине по меню, я показываю только основные пункты. Ну а если нажму на кнопку, хочу чтобы были видны все. Нет ли какого такого заклинания, как бы это сделать? Пока вижу решение в добавлении обычной иконки и при ее нажатии делать переформирование списка. Вариант то в прочем неплохой, но может есть решение по красивей?Bagir
Может, подменю организовать? Как у вас на картинке "Область печати" - это пункт меню, а если его выделить, то по стрелке появятся подменю с опциями.
Может, подменю организовать? Как у вас на картинке "Область печати" - это пункт меню, а если его выделить, то по стрелке появятся подменю с опциями.nilem
Да, спасибо за совет, я так и делаю, просто не стал об этом писать. Но хотелось бы еще и такую кнопку. Сейчас как раз редактирую этот кусочек. Чтобы прятать или показывать нужные элементы, использую .Visible Похоже никакого фокуса тут нет, и единственный вариант по средствам .OnAction сделать обработку самому. Но может кто еще что и подскажет.
Да, спасибо за совет, я так и делаю, просто не стал об этом писать. Но хотелось бы еще и такую кнопку. Сейчас как раз редактирую этот кусочек. Чтобы прятать или показывать нужные элементы, использую .Visible Похоже никакого фокуса тут нет, и единственный вариант по средствам .OnAction сделать обработку самому. Но может кто еще что и подскажет.Bagir
Спасибо!!! навели на мысль как выкрутиться. Делаю так: Свойство .Visible ненужных пунктов меню устанавливаю как = False. Последним пунктом меню добавляю пустое меню. Дело в том, что у меню чтобы сработал его .OnAction нужно просто подвести мышь. Ну а дальше при срабатывании объявляем свойство всех пунктов меню .Visible = True и они сразу появляются.
Работает нормально, но все равно хочется такую кнопку как на картинке. Может кто знает как ее можно добавить? Возможно у нее есть свой Id который можно указать?
Цитата (nilem)
Может, подменю организовать?
Спасибо!!! навели на мысль как выкрутиться. Делаю так: Свойство .Visible ненужных пунктов меню устанавливаю как = False. Последним пунктом меню добавляю пустое меню. Дело в том, что у меню чтобы сработал его .OnAction нужно просто подвести мышь. Ну а дальше при срабатывании объявляем свойство всех пунктов меню .Visible = True и они сразу появляются.
Работает нормально, но все равно хочется такую кнопку как на картинке. Может кто знает как ее можно добавить? Возможно у нее есть свой Id который можно указать?Bagir
Ругается на метод .GetImageMso Может в References нужно что то добавить?
Меня заинтересовала именно эта кнопка, потому что судя по меню Excel, она срабатывает без закрытия меню. Да можно и не нажимать вовсе, а просто подвести мышь и немного подождать. Если использовать обычную кнопку чтобы показать скрытые элементы, то после нажатия на нее меню закрывается. Конечно его можно сразу открыть, но тогда видно как меню дергается.
Ругается на метод .GetImageMso Может в References нужно что то добавить?
Меня заинтересовала именно эта кнопка, потому что судя по меню Excel, она срабатывает без закрытия меню. Да можно и не нажимать вовсе, а просто подвести мышь и немного подождать. Если использовать обычную кнопку чтобы показать скрытые элементы, то после нажатия на нее меню закрывается. Конечно его можно сразу открыть, но тогда видно как меню дергается.Bagir
Вот что в итоге получилось. Состряпал простенький пример. Работает, хоть и не без грешка. Зацените. Но все же хотелось бы кнопку как на первом скрине.
Вот что в итоге получилось. Состряпал простенький пример. Работает, хоть и не без грешка. Зацените. Но все же хотелось бы кнопку как на первом скрине.Bagir
В самом начале темы, я хотел получить ту кнопку на свою панель. Сделать это не вышло, поэтому приспособил вложенное меню для имитации такой кнопки. Все получилось в приложенном выше примере. Но спустя время, Екс отследил, что некоторые пункты моего меню я не использую, и сам прилепил мне эту круглую кнопку. Получилось что и моя приблуда есть, и круглая кнопка Екса. Ну как бы так и не нужно. От сюда два варианта как быть. 1. Запретить Ексу считать элементы в моем меню редко используемыми, чтобы он не вешал свою круглую кнопку. Или же отметить у панели настройку, чтобы на ней Екс свою кнопку вообще не ставил. 2. Убрать свою кнопку, использовать это свойство Екса, и самому каждый раз указывать какие пункты меню временные, а какие нет.
Может кто в курсе есть ли такие свойства?
В самом начале темы, я хотел получить ту кнопку на свою панель. Сделать это не вышло, поэтому приспособил вложенное меню для имитации такой кнопки. Все получилось в приложенном выше примере. Но спустя время, Екс отследил, что некоторые пункты моего меню я не использую, и сам прилепил мне эту круглую кнопку. Получилось что и моя приблуда есть, и круглая кнопка Екса. Ну как бы так и не нужно. От сюда два варианта как быть. 1. Запретить Ексу считать элементы в моем меню редко используемыми, чтобы он не вешал свою круглую кнопку. Или же отметить у панели настройку, чтобы на ней Екс свою кнопку вообще не ставил. 2. Убрать свою кнопку, использовать это свойство Екса, и самому каждый раз указывать какие пункты меню временные, а какие нет.
Чтож, порыл я эту тему порядком, и вот что теперь знаю. Эта хитрая кнопка - адаптивные меню. В 95/97 Ексе такого вообще не было. Меню всегда показывались полными. Потом придумали эту фишку. К сожалению подружиться с ней и заставить ее работать на себя для решения задачи в начале топика у меня не вышло. Почитать можно тут: http://support.microsoft.com/kb/280504/ru но по сути вот цитата от туда:
Excel запоминает использовавшиеся меню и команды и первыми отображает те, которые использовались последними. Неиспользуемые команды Excel скрывает в расширяемых меню. Excel хранит эти данные об использовании наряду с параметрами анимации меню в файле Excel.pip.
Этот файл может оказаться поврежденным. В таком случае могут возникнуть неполадки при запуске Excel. В такой ситуации найдите файл Excel.pip и переименуйте его. После переименования файла при следующем запуске Excel воссоздает новый файл PIP. Для поиска файла Excel.pip используйте функцию поиска Windows.
Узнать каким Екс считает элемент меню можно просто .IsPriorityDropped True - будет скрыт в адаптивном меню и показан только в полном False - будет виден всегда увы, свойство Read-Only. Екс сам считает колво обращений и назначает это свойство. Повлиять не получается ни на него ни на счетчики, что было бы отличным решением, но почему то эту возможность зажали... По сути это отрицательный ответ на мой второй вопрос последнего сообщения.
Ну а вот на первый: CommandBars.AdaptiveMenus = False (или через меню настройки панелей) После этого Екс не будет использовать адаптивные меню вообще. Лично меня это устраивает. Привык что все находится на своих местах. А с этой адаптивностью мне совершенно не удобно. Но это ставит крест на первом способе в корне. Еще можно управлять адаптивностью для конкретных меню так: CommandBars("file").AdaptiveMenu = False и меню Файл всегда будет полным.
А вот CommandBars("МояПанель").AdaptiveMenu = False для своей панели инструментов не прокатило. На сколько я понял, адаптивностью можно управлять только у меню, а панелям, точнее меню в панелях, это не светит.
Чтож, порыл я эту тему порядком, и вот что теперь знаю. Эта хитрая кнопка - адаптивные меню. В 95/97 Ексе такого вообще не было. Меню всегда показывались полными. Потом придумали эту фишку. К сожалению подружиться с ней и заставить ее работать на себя для решения задачи в начале топика у меня не вышло. Почитать можно тут: http://support.microsoft.com/kb/280504/ru но по сути вот цитата от туда:
Excel запоминает использовавшиеся меню и команды и первыми отображает те, которые использовались последними. Неиспользуемые команды Excel скрывает в расширяемых меню. Excel хранит эти данные об использовании наряду с параметрами анимации меню в файле Excel.pip.
Этот файл может оказаться поврежденным. В таком случае могут возникнуть неполадки при запуске Excel. В такой ситуации найдите файл Excel.pip и переименуйте его. После переименования файла при следующем запуске Excel воссоздает новый файл PIP. Для поиска файла Excel.pip используйте функцию поиска Windows.
Узнать каким Екс считает элемент меню можно просто .IsPriorityDropped True - будет скрыт в адаптивном меню и показан только в полном False - будет виден всегда увы, свойство Read-Only. Екс сам считает колво обращений и назначает это свойство. Повлиять не получается ни на него ни на счетчики, что было бы отличным решением, но почему то эту возможность зажали... По сути это отрицательный ответ на мой второй вопрос последнего сообщения.
Ну а вот на первый: CommandBars.AdaptiveMenus = False (или через меню настройки панелей) После этого Екс не будет использовать адаптивные меню вообще. Лично меня это устраивает. Привык что все находится на своих местах. А с этой адаптивностью мне совершенно не удобно. Но это ставит крест на первом способе в корне. Еще можно управлять адаптивностью для конкретных меню так: CommandBars("file").AdaptiveMenu = False и меню Файл всегда будет полным.
А вот CommandBars("МояПанель").AdaptiveMenu = False для своей панели инструментов не прокатило. На сколько я понял, адаптивностью можно управлять только у меню, а панелям, точнее меню в панелях, это не светит.Bagir
Сообщение отредактировал Bagir - Вторник, 19.02.2013, 10:57