На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование под PalmOS"
Правила раздела просты:
1. Будьте вежливыми.
2. Задавате вопросы только по теме. Пользовательские вопросы (у меня не работает пальм) являются оффтопиком. Пользуйтесь конференциями palmz.in, hpc.ru, ihand.ru .
3. Поиск вареза запрещен.
4. Пользуйтесь поиском. Не надейтесь, что кому-то доставляет удовольствие отвечать в сотый раз на один и тот же вопрос.
  
> Проблема с меню формы
    Всем привет.
    Столкнулся со следующей проблемой.
    Оказывается, что если в обработчике формы вызывать функцию MenuAddItem() до того, как будет получено событие menuOpenEvent, то получится следующая картина: щелкнули по FormTitle, началась обработка соответствующих событий (в том числе выполнилась функция MenuAddItem()), после чего событие menuOpenEvent уже не придет! Вызываю я ее так:
    ExpandedWrap disabled
      Char *str = "-";
      MenuAddItem(SomeMenuItem, NewSeparator, 0, str);

    После этого сепаратор добавляется в меню, но событие menuOpenEvent не приходит.
    Если эти строки закомментить, то событие menuOpenEvent получается моим обработчиком безо всяких проблем. Так вот вопрос, где же следует вызывать функцию MenuAddItem, если нужно менять пункты меню для каждой конкретной ситуации.
    ЗЫ: вызыв этой функции при обработке menuOpenEvent вообще не производит никакого эффекта.
    Сообщение отредактировано: debugx -
      посмотрел свои старые исходники.
      динамическое меню делал так:

      1. ловим событие menuOpenEvent
      2. в нем динамически добавляем в меню новый пункт MenuAddItem
      3. ловим событие menuEvent. в нем обрабатываем кликнутый пункт
      EventType* _pEvent - входной параметр в функцию
      _pEvent->data.menu.itemID - индекс выбранного пункта

      то есть, в моем случае меню было модифицировано внутри обработчика menuOpenEvent. в твоем случае - внутри обработчика формы.

      если надо внутри обработчика формы, то попробуй там для начала получить активное меню
      MenuSetActiveMenu
      потом его модифицировать MenuAddItem
      потом снова его сделать активным
      MenuSetActiveMenu
        спасибо
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0179 ]   [ 15 queries used ]   [ Generated: 25.04.24, 10:08 GMT ]