Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

Снова про Menu   Найти похожие ветки 

 
Vasek   (2005-02-22 21:12) [0]

Как я понял из того, что ответа на мой предидущий вопрос не последовало, никто не использует ActionMainMenuBar в своих программах. В связи с этим попробую поставить другой:
Посоветуйте, пожалуйтса, какое меню можно использовать.
Требования:
1.Работа с меню должна осуществлятся с клавиатуы(на пример Alt- Активизирует меню, стелками перемещаемся, Enter- выбор пункта меню.
2.Необходима возможность изменения размера и шрифта (Charset).
3.Желательна возможность изменения цветов и добавления иконок.
Буду благодарен за орветы.


 
GanibalLector ©   (2005-02-23 01:51) [1]

1.Стандартный позволяет
2.Не уверен!А  зачем? Вам это ??
3.Запросто.Св-в стандартного предостаточно.


 
Vasek   (2005-02-23 02:17) [2]

To GanibalLector ©
1. См. мой предидущий вопрос.
В краце: ActionMainMenuBar ДВАЖДЫ обрабатывает OnExecut по клику мыши.
2. Слишком уж мелко.:) Задача мульиязычная.
3. Стандартный (MainMenuBar) отображает только иконки 16х16 что слишком уж мелко.
Вывод: Меня бы впоне устроил ActionMainMenuBar если кто поможет исправить вышеозначеный ГЛЮК !!!
Пока ещё не перестаю надеятся на компетенцию и помощ МАСТЕРОВ!!! :-))


 
GanibalLector ©   (2005-02-23 02:29) [3]

>1. См. мой предидущий вопрос.
Ну и где его смотреть?Ссылку что-ли засвети.
А вообще,ИМХО,ты фигней занимаешься.Зачем тебе эта красота?Главное гибкость,надежность,мин.стоимость и пр.


 
Vasek   (2005-02-23 02:40) [4]

Вот ссылка
http://delphimaster.net/view/1-1109016964/
>Зачем тебе эта красота?
Красота спасёт мир! :))
>Главное гибкость,надежность,мин.стоимость и пр.
Абсолютно согласен. Потому и нужно нормальное меню.


 
Sun bittern ©   (2005-02-23 08:59) [5]

Vasek   (23.02.05 02:40) [4]

Лучше юзай сторонние компоненты т.к. например в TActionToolBar тоже присутсвует ряд глюков. Или стандартную минюшку.


 
Vasek   (2005-02-23 10:41) [6]

To Sun bittern ©
Про глюки в TActionToolBar если можно поподробнее.
>Лучше юзай сторонние компоненты
А какие, например???


 
Vasek   (2005-02-23 17:40) [7]

Значит, все только поболтать, а помоч - так все мочат...


 
Sun bittern ©   (2005-02-23 20:06) [8]

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

Вот и попробуйте покапаться в таком сложном компонентике, тут времени даже у мастеров прилично потратится :). А советы вам уже выше дали ;).


 
Wonderer   (2005-02-23 21:39) [9]

Вообще используй только стандартные меню, но со своей прорисовкой, это не так уж и сложно, примеры есть, глянь базу на
http://delphiworld.narod.ru/. А еще поищи TXPMenu - глюкавый компонент, но принципы усвоить поможет. И забудь об этом TFUctionMainMenuBar и подобной дрянью. Не ты один поражаешся глюкавости. Даже в разработке очень капризные компоненты


 
Vasek   (2005-02-23 22:58) [10]

Всем Большое спасибо за участие.
С 23-м Февраля (кто знает) ;)


 
Геннадий   (2005-02-25 08:26) [11]

Здравствуйте !
Не знаю помогу или нет, но я сделал бы так ( чтобы долго не копатьяс ): обьявил переменную P1 и присвоил ей 0. В обработке  OnExecut выполняю проверку P1 = 0, да -> выполняю обработку и увеличиваю P1 на 1, если P1 = 1, то -> P1 = 0 и больше ничего не делаю. В этом случае обработка будет выполняться только один раз, причина глюка останется не устраненной.
С уважением Геннадий.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.034 c
14-1109077840
}|{yk
2005-02-22 16:10
2005.03.13
Голосование. Футбольные ветки на DM


1-1109621482
dmk
2005-02-28 23:11
2005.03.13
Послать приложению сочетание клавиш CTRL+V


14-1108984691
kaZaNoVa
2005-02-21 14:18
2005.03.13
Дайджесты форумов, и html-формат


4-1106567663
MAXHO
2005-01-24 14:54
2005.03.13
LPT


3-1107869990
denis24
2005-02-08 16:39
2005.03.13
select ..... from .... where name in (........





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский