![]() |
|
![]() ![]() ![]() |
|
ksili |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Не могу изменить состояние итемов всплывающего меню во время работы программы. Пытаюсь сделать неактивным/активным или выдимым/невидимым. Свойства вроде меняются , но на внешнем виде это никак не отображается. В хелпе вычитал, что для изменения структуры меню или каких-то его свойств надо использовать событие OnChange. Вот его описание:
Попробовал так:
Но ругается, что надо определить функцию PopupMenu2Change. Что там писать, я не понимаю. Я ведь и так уже всё сделал в OnPopup. А OnChange я думал просто перестроит меню. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
||||
|
|||||
ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 10 Всего: 95 |
Чо-та у меня ощущение, что ты сильно накручиваешь ненужное...
Проверь так: брось на форму StringGrid, Button и PopupMenu. Меню привяжи к соответствующим свойствам грида и кнопки и добавь ему два пунтка "Действия для кнопки", "Действия для таблицы". В обработчике OnPopUp напиши:
-------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Попробовал. Та же проблема - все пункты меню остаются активными. При этом на первом щелчке по таблице выскакивает исключение, типа обращаюсь к нулевому адресу, со второго щелчка всё нормально.
Использую BCB6. И ещё - итемы вроде с нуля должны нумероваться, а не с единицы. Пробовал и так, и так - одинаково. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: 10 Всего: 95 |
Хм... странно... Это работает и в Дельфи 7 (современник BCB6) и в Turbo C++ Builder (Developer Studio). Я прикреплю на всякий случай тестовые исходники c откомпилированным файлом, проверь еще раз. Если все так же - тогда я могу пенять только на 6-й билдер. К сожалению, под рукой BCB6 нету... :(
Присоединённый файл ( Кол-во скачиваний: 5 ) ![]() -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
ksili |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Проверил. Исходники сходятся с моими один к одному. Исполняемый файл проверить не смог, так как нету нужной библиотеки vcl100.
Скорее всего косяк с менюшками из-за Билдера. Ладно, в принципе, для моей программы это не критично. Спасибо. -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
|||
|
||||
Vyacheslav |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
Бедный Билдер. Все валим на него. А у Билдера в данном случае все впорядке. Вот такой простейший обработчик поочередно дисейблит одно из двух пунктов меню. Так что ищите ощибку у себя
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
ksili |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2069 Регистрация: 3.11.2005 Где: Красноярск Репутация: 1 Всего: 17 |
Действительно, такой код работает. Тогда возникает вопрос, почему такой код работает:
а такой нет:
Или Items содержит не MenuItem'ы? Я кстати проверял caption'ы пунктов меню так:
Так вот они оказались почему-то или "", или NULL, хотя названия конечно были. Получается свойство Items вообще непонятно для чего -------------------- Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с) |
||||||
|
|||||||
Vyacheslav |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 47 Всего: 59 |
И не должен ![]() Работает такой
Добавлено через 2 минуты и 4 секунды
А так ? ![]()
-------------------- С уважением, Вячеслав Ермолаев |
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |