Страницы: 1
RSS
Динамический ribbon, Размер кнопок на ribbon
 
Добрый день, гуру.
Такой вопрос, может кто сталкивался. У стандартной ленты Excel, когда меняешь размер окна, кнопки на основной ленте имеют свойство меняться из больших в маленькие и размещаться подстраиваясь под размер основного окна. Вопрос, как это реализовать можно? Никак не могу найти чтобы менялся размере кнопок на ribbon-е.
Спасибо.
 
Никто не знает я так понимаю  
 
Я ни разу не встречал, чтобы в одном и том же экземпляре Excel кнопки команд менялись динамически в размерах при изменении окна. На разных ПК с разными размерами экрана - да, они могут выглядеть по разному, но достигается это(насколько знаю) механизмами внутри DLL при первоначальном построении схемы, но не динамически во время работы. Максимум что знаю - что элементы "ужимаются" в пределах своей группы, если размера окна уже не хватает для отображения всех элементов группы.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Теоретически есть callback-функция getsize. Детально с этим не разбирался.
Владимир
 
Цитата
написал:
Я ни разу не встречал, чтобы в одном и том же экземпляре Excel кнопки команд менялись динамически в размерах при изменении окна. На разных ПК с разными размерами экрана - да, они могут выглядеть по разному, но достигается это(насколько знаю) механизмами внутри DLL при первоначальном построении схемы, но не динамически во время работы. Максимум что знаю - что элементы "ужимаются" в пределах своей группы, если размера окна уже не хватает для отображения всех элементов группы.
меняются это можно посмотреть прямо в ексель меняя размер окна и глядя на некоторые иконки на стандартной ленте. Пока не могу скрины сделать с телефона.
 
toxamstr,  а если бы текст Дмитрия был строк на 200 - Вы тоже ВСЁ забрали бы в цитату?
 
Цитата
toxamstr написал:
меняются
Кажется понял про что именно речь. Немного про другое подумал. Они не то, чтобы подстраиваются, но...
В общем для своих меню это возможно только начиная с 2010 Excel. ставите для группы признак autoscale=true и элементы в группе будут пытаться организоваться в маленькие значки, если ширины окна недостаточно для размещения их как больших. В XML это будет выглядеть примерно так:
Код
<group id="tt" label="Dinamic Custom Ribbon" autoScale="true">
  <button id="t1" image="image1" size="large" />
  <button id="t2" image="image2" size="large" />
<!-- тут скорее всего еще кнопки и т.д. -->
</group>
Изменено: Дмитрий(The_Prist) Щербаков - 04.07.2022 20:41:11
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий, спасибо за разъяснения!
Владимир
 
Дмитрий(The_Prist) Щербаков, спасибо большое завтра буду тестить обязательно отпишусь.

Ещё раз спасибо. Все работает как надо 👍
Изменено: toxamstr - 06.07.2022 13:30:03
Страницы: 1
Наверх