Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Создание своего меню


Рекомендуемые сообщения

Никто не расскажет, как сделать свое меню с радиокнопками, всплывающими подсказками?

 

Благодарен за любую инфу!

5073IA3.png
Ссылка на комментарий
Поделиться на другие сайты

Vadiks писал: Если меню создано командами NAVIG, то формирование подсказок нужно искать в GetDefaultMenuValue. Если же меню описано MCC_ADD_LIST, то подсказки добавляются через функцию AddList. AddList вызывается через команду MCC_TASK. Боле подробно смотрите mcc_org_main_menu.

Ссылка на комментарий
Поделиться на другие сайты

Никто не расскажет, как сделать свое меню с радиокнопками
Создать свое меню с радиокнопками несложно, главное заставить его работать, т.е. выполнять свою основную функцию оставлять точку и курсор на выбранном активном пункте...

 

C8 00 0000 0000 0000 00000000 0000 0000

60 0A ???? ???? 0032 00000000 0000 0000 (создание меню с радиокнопками; третий параметр - индекс первого пункта, четвертый параметр - кол-во пунктов)

57 0A ???? ???? 0417 ???????? ???? 0000 (первый пункт меню; третий параметр здесь как раз и определяет какой пункт сейчас активен, т.е. получается идет какое либо считывание, четвертый - номер пункта, начиная с 0, шестой - адрес перехода, седьмой - индекс текстового ресурса)

58 0A ???? ???? 0417 ???????? ???? 0000 (второй пункт и т.д.; параметры те же самые)

59 0A ???? ???? 0417 ???????? ???? 0000 (последний пунк; параметры теже самые)

 

Третий параметр должен быть обязательно определен и не случайным образом, иначе меню просто теряет свой смысл!

 

По ходу дела так!

Всё ещё будет...
Ссылка на комментарий
Поделиться на другие сайты

Вроде, разобрался.

 

Подсказки, применительно к меню 3.1 "Звук звонка", формирует функция Menu3_1Sub.

Для других пунктов, похоже, есть аналогичные.

 

С радиокнопками все примерно так, как dimastyj описал.

Третий параметр обрабатывает set0_4if. Надо в нее вклиниться и обрабатывать свои значения.

 

Мою реализацию всего этого можно посмотреть в "Говорящем АОНе 2.5".

5073IA3.png
Ссылка на комментарий
Поделиться на другие сайты

объясни, пожалуйста поподробнее, а то я в них никак не въеду

Что именно объяснить?

Длинные опусы писать я не мастак, а коротенько на вопрос ответить смогу, если ответ знаю...

5073IA3.png
Ссылка на комментарий
Поделиться на другие сайты

Опиши, пожалуйста, как формировать всплывающую подсказку в меню на конкретном примере(любом) и еще какой параметр при этом за что отвечает.

Ссылка на комментарий
Поделиться на другие сайты

Опиши, пожалуйста, как формировать всплывающую подсказку в меню на конкретном примере(любом) и еще какой параметр при этом за что отвечает.

 

Пример - меню 3.1 "Звук звонка".

Создаем меню:

 

60 0A 0A50 0004 0042 00000000 0000 0000  Создание меню с первым индексом Мелодии по умолчанию из 4 пунктов

Здесь 0042 - тип меню (4 - обычное, 3 - радиокнопки), 2 - уровень вложенности.

Этот параметр отвечает в том числе и за подсказки.

 

В данном случае при перемещении курсора вызывается функция Menu3_1Sub

(т.е. подменю пункта 3.1) Ей в качестве параметра передается номер пункта.

Далее он проверяется:

 

000AC952  1C3C      ADD R4, R7, #0 R4 = R7 + 0

000AC954  2C01      CMP R4, #0x1 Сравнить R4 и 1

000AC958  D012      BEQ 000AC980 если равно (Z) то переход на адрес 000AC980

000AC95A  2C02      CMP R4, #0x2 Сравнить R4 и 2

000AC95C  D02B      BEQ 000AC9B6 если равно (Z) то переход на адрес 000AC9B6

000AC960  2C03      CMP R4, #0x3 Сравнить R4 и 3

000AC962  D054      BEQ 000ACA0E если равно (Z) то переход на адрес 000ACA0E

000AC964  2C04      CMP R4, #0x4 Сравнить R4 и 4

000AC966  D168      BNE 000ACA3A если не равно (not Z) то переход на адрес 000ACA3A

 

И нужный текст копируется в v_DefaultDispText (0x016A2098)

Все!

5073IA3.png
Ссылка на комментарий
Поделиться на другие сайты

vvyura огромное спасибо за объяснения! Но я все равно не додумался как это происходит, пожалуйста, объясни для "особо одаренных " и покажи на конкретном примере и поподробнее, а именно как заставить появляться всплывающую подсказку и как указать какой текст должен появляться и пожалуйста поподробнее а то я никак в них не въеду.

Ссылка на комментарий
Поделиться на другие сайты

vvyura, вот это веЩь!!! хоть кто-то популярно расказал, спасибо огромное будем копаться :?: О результатах расскажу. :(

Возник только вопрос. Сделай выкладку кода где проверяется выбраный пункт, т.е. наверно проверка глобальной переменной.

Ковыряю e630 :)

Ссылка на комментарий
Поделиться на другие сайты

Сделай выкладку кода где проверяется выбраный пункт, т.е. наверно проверка глобальной переменной.

 

Не знаю. Я эту функцию нашел, свою подсказку вставил, и все.

Дальше не копал.

5073IA3.png
Ссылка на комментарий
Поделиться на другие сайты

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, объясните поподробнее как заставить появляться всплывающую подсказку и как указать какой текст должен появляться в ней и пожалуйста поподробнее а то я никак в них не въеду. Заранее спасибо.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

А такой проги случайно нет, которая создаёт новое меню??!

Я вроде видел где, но не помню! :oops: :lol:

Ссылка на комментарий
Поделиться на другие сайты

А такой проги случайно нет, которая создаёт новое меню??!

Jack383, меню можно создать Resource Manager'ом и повесить его на отдельную кнопку :lol:

GameTeam.ru - Крупнейший каталог бесплатных Java-игр!

Ссылка на комментарий
Поделиться на другие сайты

меню можно создать Resource Manager'ом и повесить его на отдельную кнопку

Но ведь это не для всех телефонов. Например на Е630 всё приходится в ручную делать... И на Х460 вроде тоже нет поддержки создания своего меню.

Хотя вещь конечно удобная :)

E630XEDK2 + Nokia N72+1Gb

Всё, что нас не убивает, то нас делает сильней! (Е. Летов)

Ссылка на комментарий
Поделиться на другие сайты

vvyura, Pimen, а тогда зачем изобретать велосипед??? :)

Разница есть какая нибудь, создавая в рукопашную и ресманом?!

Ссылка на комментарий
Поделиться на другие сайты

Jack383, разница есть и ОГРОМНАЯ :roll:

Объяснять не хочу, но верь мне :shock:

GameTeam.ru - Крупнейший каталог бесплатных Java-игр!

Ссылка на комментарий
Поделиться на другие сайты

  • 6 месяцев спустя...

Помогите, пожалуйста, понять! Как своё меню (текстовое описание) прописать в таблице (применительно к Swift'ам)?

Siemens M35 -> C45 -> Samsung X100 -> X120 -> E300 -> E710 -> X700 -> E200 -> I710 -> D780 -> I9100

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


×
×
  • Создать...