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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расширенное главное меню, с формами в пунктах 
:(
    Опции темы
Keeper89
Дата 12.1.2010, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



Доброго времени суток!

На работе возник следующий вопрос.

Можно ли расширить стандартное меню TMainMenu (или создать свой компонент), добавив некоторые свойства и возможно переопределив существующие для получения следующего эффекта наличия форм вместо дочерних пунктов меню:
user posted image
То есть, добавить к TMenuItem, например, свойство Form, которое будет указывать присоединенную форму, а в случае если Form не заполнено, показывается подменю из свойства Items (аналогично меню из набора компонентов Toolbar 2000). Либо сделать свойство переключатель на отображение конкретного типа дочернего элемента.

Если все это возможно, какая реализация может быть наиболее практичной?

Заранее спасибо.

Это сообщение отредактировал(а) Keeper89 - 12.1.2010, 22:30


--------------------
PM MAIL WWW   Вверх
DarkProg
Дата 13.1.2010, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

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



Я хоть и не силён в компонентах, но полагаю что это возможно

Я думаю лучше сделать копию стандартного компонента и копию уже ковырять

Цитата(Keeper89 @  12.1.2010,  22:29 Найти цитируемый пост)
То есть, добавить к TMenuItem, например, свойство Form, которое будет указывать присоединенную форму, а в случае если Form не заполнено, показывается подменю из свойства Items (аналогично меню из набора компонентов Toolbar 2000). Либо сделать свойство переключатель на отображение конкретного типа дочернего элемента.

Я думаю в Properties надо будет сделать переключатель на отображение конкретного типа дочернего элемента, мне кажется это поможет избежать лишних проверок(всяких условий) в ходе работы программы и будет более производительнее, ведь прога уже будет конкретно знать что рисовать

Но конкретно какое свойство добавить сказать не могу, т.к. не знаю :(


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
CodeMonkey
Дата 13.1.2010, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

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



Со стандартным меню это невозможно.
Надо делать своё собственное меню, с собственной прорисовкой и реакцией на кнопеньки и мышь. Можно на базе готовых компонентов. Только я хз каких.

А вызов формочки вас точно не устроит? Не слишком хорошо менять привычный интерфейс.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Keeper89
Дата 13.1.2010, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



+ вопрос к этому: обязательно ли это должна быть форма или можно использовать другие контролы?

Добавлено через 2 минуты и 58 секунд
Цитата(CodeMonkey @  13.1.2010,  00:25 Найти цитируемый пост)
А вызов формочки вас точно не устроит? Не слишком хорошо менять привычный интерфейс. 

Нет, нужен именно единый компонент. Как раз о другом интерфейсе и речь.


--------------------
PM MAIL WWW   Вверх
bems
Дата 13.1.2010, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Попробуй найти хендл окна меню (не хендл меню) и сделать его родителем формы


--------------------
Обижено школьников: 8
PM MAIL   Вверх
DarkProg
Дата 13.1.2010, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

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



Цитата(Keeper89 @  13.1.2010,  00:36 Найти цитируемый пост)
+ вопрос к этому: обязательно ли это должна быть форма или можно использовать другие контролы?

Да запросто возьми скажем панельку и будет тоже нормально, ну я так думаю, я просто с  панелькой уже проделывал один трюк.


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
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.0641 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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