Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сепараторы в ActionMainMenuBar, Динамическое дабавление/удаление 
:(
    Опции темы
huminclouds
Дата 23.6.2011, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



Как динамически создать/удалить сепаратор в ActionMainMenuBar?
PM MAIL   Вверх
Akella
Дата 23.6.2011, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



может не сепаратор, а разделитель?
PM MAIL   Вверх
Akella
Дата 23.6.2011, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата

How can I add a separator to an ActionBand?
The latest update to ActionBands adds a new mechanism to add separators to ActionBands. The Customize dialog now has a button at the bottom that you can simply drag and drop to create separators on any ActionBand. To manually insert a separator on a TActionToolBar:

If you already have an ActionToolBar with items on it:

    Click an item on one of the ActionToolbars and use the arrow keys to select where want the separator.
    Press the Insert key, this adds a new item to the bar
    Set its Caption to a "-"


To insert a separator on a TActionMainMenuBar:

    Click one of the top level menus
    Use the keyboard/mouse to find the position where you want the separator
    Press the "-" key to insert the separator


An alternative is to use the Object Treeview and navigate within the TActionManager.ActionBars node to find where you a separator, add a new item and set its Caption to a dash "-".

Additionally, once you have an item selected on a ActionBand at design time you can hold the control key down and use the arrows to change that items position.

Also found on http://groups.google.com by searching for: %green%actionband separator 

ист

Добавлено через 1 минуту и 4 секунды
Программнно. Добавляем новый элемент TActionClientItem, в котором указываем девис - в свойстве Сaption
PM MAIL   Вверх
huminclouds
Дата 24.6.2011, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



Цитата

может не сепаратор, а разделитель?

Разве это не одно и то же?..  ))

То что по аглицки - глупость. Это работает в старом добром TMainMenu, но никак не в TActionMainMenuBar.

По поводу TActionClientItem - интересно. Надо покопать.
Если есть возможность, выложите, пожалуйста пример кода, в котором разделитель добавляется в определенную позицию меню. Или, может, что нибудь по формированию в runtime менюшек для TActionMainMenuBar.

Это сообщение отредактировал(а) huminclouds - 24.6.2011, 09:42
PM MAIL   Вверх
huminclouds
Дата 24.6.2011, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



Создать сепаратор можно так:

Код

var
  menuItem: TActionClientItem;
begin
  menuItem := ActManager.ActionBars[1].Items.Add;
  menuItem.Caption := '-';
  menuItem.Control.Show;
end;


Но он появляется в конце меню.
Теперь вопрос. Чтобы вставить его в определенную позицию нужно пересоздавать список меню, или есть более изящный способ?
PM MAIL   Вверх
huminclouds
Дата 24.6.2011, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



Как вариант, можно заранее создать сеператор и скрывать/показывать его:

Код

var
  menuItem: TActionClientItem;
begin
   menuItem := ActManager.ActionBars[1].Items.ActionClients[4];
   if Assigned(menuItem) = True then menuItem.Control.{Show | Hide};
end;


Это сообщение отредактировал(а) huminclouds - 24.6.2011, 10:46
PM MAIL   Вверх
Чучмек
Дата 24.6.2011, 11:01 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



Цитата(huminclouds @  24.6.2011,  10:25 Найти цитируемый пост)
 menuItem := ActManager.ActionBars[1].Items.Add;

Insert



--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
huminclouds
Дата 24.6.2011, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



Так-так, интересно, только Insert создает уже объект TCollectionItem. Можно пример...
PM MAIL   Вверх
Чучмек
Дата 24.6.2011, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 14
Всего: 41



Да хотябы так:
Код

ActionManager1.ActionBars[0].Items.insert(1) as TActionClientItem;


Добавлено через 4 минуты и 23 секунды
Или если add то:
menuItem.Index:=1
Цитата

Код

function TCollection.Insert(Index: Integer): TCollectionItem;
begin
  Result := Add;
  Result.Index := Index;
end;

 


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
huminclouds
Дата 26.6.2011, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 8.7.2009

Репутация: нет
Всего: нет



Благодарю, сударь!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1229 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.