C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Использую TToolBar как меню, проблема с подменю
nawok78
Отправлено: 05.02.2007, 12:30


Станционный диспетчер

Группа: Участник
Сообщений: 115



Добавляю TCoolBar на TForm
в нее кладу TToolBar, создаю кнопки TToolButton у них устанавливаю ссылки на менюшки TToolButton->DropDownMenu (менюшки TPopupMenu уже есть)

запускаю программу
нажимаю кнопку — появляется менюшка а при переводе мышки на другую — облом — менюшка не меняется.

как сделать чтоб менюшка менялась (не по нажатию кнопки, а по переходу мышки)
хотелось бы решения по проще — неужели нет какого-то механизма -шоб только какое св-во поменять (тру/фалс или типа того)

или придется OnMouseMove прописывать у TToolBar — тогда как показать и спрятать TPopupMenu?
Doga
Отправлено: 05.02.2007, 13:15


Мастер участка

Группа: Участник
Сообщений: 575



QUOTE

запускаю программу
нажимаю кнопку — появляется менюшка а при переводе мышки на другую — облом — менюшка не меняется.


Ничего не понял ohmy.gif

AVC
Отправлено: 05.02.2007, 13:58


Ветеран

Группа: Модератор
Сообщений: 1583



Думаю понял.
QUOTE

как сделать чтоб менюшка менялась (не по нажатию кнопки, а по переходу мышки)
хотелось бы решения по проще — неужели нет какого-то механизма -шоб только какое св-во поменять (тру/фалс или типа того)

Скорее всего ни как, тем более простым способом.
Даже MouseMove на уровне компонента вас не спасет. Менюшка очень серьёзно "тянет одеяло" на себя. Нужно искать другие способы/компоненты или обрабатывать события на более глубоком уровне.

nawok78
Отправлено: 05.02.2007, 17:01


Станционный диспетчер

Группа: Участник
Сообщений: 115



да блин, ты меня понял и огорчил отсутствием простого пути...
но ведь — Ворд, Билдр — да у всех так! не ужто нет ничего простого...
AVC
Отправлено: 05.02.2007, 17:27


Ветеран

Группа: Модератор
Сообщений: 1583



Но там то ведь речь идет о MainMenu а вы хотите PopUp на кнопках. А это две большие разницы.
nawok78
Отправлено: 06.02.2007, 08:54


Станционный диспетчер

Группа: Участник
Сообщений: 115



MainMenu????
Давно ты в билдере не кодил smile.gif ???
Там оно совсем не похлже на TMainMenu.....
а вот на TToolBar как раз и похожа....
а вместо TpopupMenu — можно что-нибудь другое сунуть? есть еще какое T...Menu ?
............
ЗЫ А вот в Ворде может и впрямь TMainMenu.....

Отредактировано nawok78 — 06.02.2007, 08:56
AVC
Отправлено: 06.02.2007, 10:30


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

Давно ты в билдере не кодил  ???

На момент ответа столько времени, сколько требуется для его написания. smile.gif

QUOTE

Там оно совсем не похлже на TMainMenu.....

BCB5 и там MainMenu похоже на MainMenu только расположенное не на той подложке (как этого достичь просто не интересовался). Суть в другом — это единый компонент со своими законами поведения. Думаю чтение API поможет подсунуть под него что то отличное от формы.
olegenty
Отправлено: 06.02.2007, 11:06


Ветеран

Группа: Модератор
Сообщений: 2412



если хочется ничего не делать и получить более или менее приятное меню, то
1. Toolbar 2000 +/- TBSkin+ (jrsoftware.org)
2. JVCL (sourceforge.net)

в противном случае просто поищи исходники, эмулирующие то, что тебе нужно. по-моему где-то в Кулибе это было...
nawok78
Отправлено: 06.02.2007, 16:05


Станционный диспетчер

Группа: Участник
Сообщений: 115



спасибо — попробую

Отредактировано nawok78 — 07.02.2007, 10:01
nawok78
Отправлено: 07.02.2007, 10:04


Станционный диспетчер

Группа: Участник
Сообщений: 115



УРА!!!!!!!!
ЭВРИКА!!!!!!!!!
ЕСТЬ ПРОСТОЕ РЕШЕНИЕ!!!!!!!!!

ToolBar1->Menu=MainMenu1;
Form1->Menu=NULL;

это все делается во время дизайна формы smile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gifsmile.gif

тему можно закрывать smile.gif wizard.gif

Отредактировано nawok78 — 07.02.2007, 10:05
AVC
Отправлено: 07.02.2007, 16:43


Ветеран

Группа: Модератор
Сообщений: 1583



QUOTE

ToolBar1->Menu=MainMenu1;

У BCB5 у TToolBar (и TCoolBar) такого свойства просто нет. biggrin.gif
nawok78
Отправлено: 08.02.2007, 14:13


Станционный диспетчер

Группа: Участник
Сообщений: 115



а я в 6-м wink.gif

Вернуться в Вопросы программирования в C++Builder