![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Снова про Menu [D7, WinXP]
Vasek © (2005-02-22 21:12:00)Как я понял из того, что ответа на мой предидущий вопрос не последовало, никто не использует ActionMainMenuBar в своих программах. В связи с этим попробую поставить другой:
Посоветуйте, пожалуйтса, какое меню можно использовать.
Требования:
1.Работа с меню должна осуществлятся с клавиатуы(на пример Alt- Активизирует меню, стелками перемещаемся, Enter- выбор пункта меню.
2.Необходима возможность изменения размера и шрифта (Charset).
3.Желательна возможность изменения цветов и добавления иконок.
Буду благодарен за орветы.
Геннадий (2005-02-25 08:26:00) [1]Здравствуйте !
Не знаю помогу или нет, но я сделал бы так ( чтобы долго не копатьяс ): обьявил переменную P1 и присвоил ей 0. В обработке OnExecut выполняю проверку P1 = 0, да -> выполняю обработку и увеличиваю P1 на 1, если P1 = 1, то -> P1 = 0 и больше ничего не делаю. В этом случае обработка будет выполняться только один раз, причина глюка останется не устраненной.
С уважением Геннадий.
Vasek (2005-02-23 22:58:00) [2]Всем Большое спасибо за участие.
С 23-м Февраля (кто знает) ;)
Wonderer (2005-02-23 21:39:00) [3]Вообще используй только стандартные меню, но со своей прорисовкой, это не так уж и сложно, примеры есть, глянь базу на
http://delphiworld.narod.ru/.А еще поищи TXPMenu - глюкавый компонент, но принципы усвоить поможет. И забудь об этом TFUctionMainMenuBar и подобной дрянью. Не ты один поражаешся глюкавости. Даже в разработке очень капризные компоненты
Sun bittern (2005-02-23 20:06:00) [4]Vasek (23.02.05 17:40) [7]
>> Про глюки в TActionToolBar если можно поподробнее.
Есть несколько глюков, причем некоторые не особо приятные, можешь поверить наслово.
>Лучше юзай сторонние компоненты
>> А какие, например???
Компонентов в стиле XP ныне море, как платных так и халявных. Не найти их просто невозможно. Можешь на Торри поискать http://www.torry.net/
Если бы знали решение проблемы, думаю поделились бы, не жадные.
А так на отладку компонентов врядли кому-то охота тратить свое личное время. Модуль ActnMenus видели? Строчек кода там наверно на 80-100 страниц формата А4. А это: вникунть в суть работы каждого класса, понять принцип и последователность действий. Не по одному разу пробежаться отладчиком. Как думаете сколько времени это займет?
Приблизительную ошибку в компоненте уже знаете. Т.е. если менюшка лежит на панельке, то обработка сообщения происходит дважды. Вот и попробуйте выяснить, кто лишний раз сообщение шлет? Или может просто не хватает одного условия дабы ограничить данный глюк.
Возможные места откуда начать раскопки или может там и поправить получиться.
procedure TCustomActionMenuBar.CMItemClicked
procedure TCustomActionMenuBar.ProcessMouseMsg
procedure TCustomActionMenuBar.TrackMenu
procedure TCustomMenuButton.MouseDown
procedure TCustomMenuButton.MouseUp
Также проверить что и в какой момент времени посылает сообщения:
CM_ITEMCLICKED
WM_LBUTTONDOWN
WM_LBUTTONUP
А может где-то лишний раз вызывается метод
procedure TCustomActionMenuBar.ExecAction
или
TAction.Execute
Вот и попробуйте покапаться в таком сложном компонентике, тут времени даже у мастеров прилично потратится :). А советы вам уже выше дали ;).
Vasek (2005-02-23 17:40:00) [5]Значит, все только поболтать, а помоч - так все мочат...
Vasek (2005-02-23 10:41:00) [6]To Sun bittern ©
Про глюки в TActionToolBar если можно поподробнее.
> Лучше юзай сторонние компоненты
А какие, например???
Sun bittern (2005-02-23 08:59:00) [7]Vasek (23.02.05 02:40) [4]
Лучше юзай сторонние компоненты т.к. например в TActionToolBar тоже присутсвует ряд глюков. Или стандартную минюшку.
Vasek (2005-02-23 02:40:00) [8]Вот ссылка
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1109016964&n=0
> Зачем тебе эта красота?
Красота спасёт мир! :))
> Главное гибкость,надежность,мин.стоимость и пр.
Абсолютно согласен. Потому и нужно нормальное меню.
GanibalLector (2005-02-23 02:29:00) [9]>1. См. мой предидущий вопрос.
Ну и где его смотреть?Ссылку что-ли засвети.
А вообще,ИМХО,ты фигней занимаешься.Зачем тебе эта красота?Главное гибкость,надежность,мин.стоимость и пр.
Vasek (2005-02-23 02:17:00) [10]To GanibalLector ©
1. См. мой предидущий вопрос.
В краце: ActionMainMenuBar ДВАЖДЫобрабатывает OnExecut по клику мыши.
2. Слишком уж мелко.:) Задача мульиязычная.
3. Стандартный (MainMenuBar) отображает только иконки 16х16 что слишком уж мелко.
Вывод: Меня бы впоне устроил ActionMainMenuBar если кто поможет исправить вышеозначеный ГЛЮК !!!
Пока ещё не перестаю надеятся на компетенцию и помощ МАСТЕРОВ!!! :-))
GanibalLector (2005-02-23 01:51:00) [11]1.Стандартный позволяет
2.Не уверен!А зачем? Вам это ??
3.Запросто.Св-в стандартного предостаточно.