|
Организация меню. |
|
|
|
 |
Ответов
|
Oct 25 2016, 11:06
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Jenya7 @ Oct 25 2016, 13:37)  У меня на экране сначала загружается главный экран с разделами меню. Потом я кнопками выбираю раздел и если я нажимаю ENTER появляется другой экран со своими разделами меню. Я могу вернутся на предыдущий экран и предыдущий выбранный раздел должен быть подсвечен. Вопрос где хранить индекс текущего выбранного экрана и индекс выбранного раздела в нем? Сделать массив индексов экрана и в каждом экране массив разделов? Я делаю так. Вся управляющая программа должна быть описана как самый верхний автомат состояний. И каким-то состояниям этого автомата должны быть приписаны разные экраны. В некоторых экранах есть "меню", которые тоже представляют собой автоматы состояний. И, соотв. каждому состоянию должно быть приписано условие отображения на этом экране. Нижние автоматы передают верхнему свое состояние или флаги. Как только сделаете чтобы отображение соответствовало состоянию автомата, так все далее будет легко и просто... Состояние главного автомата покажет, какой экран активный и в какой экран можно переходить, а в какой - нельзя. Соотв. нижний автомат покажет, какой пункт меню был нажат, какой выполнен, в какой можно переходить, а в какой - нельзя...
--------------------
www.iosifk.narod.ru
|
|
|
|
|
Oct 25 2016, 11:11
|
Профессионал
    
Группа: Участник
Сообщений: 1 778
Регистрация: 29-03-12
Пользователь №: 71 075

|
Цитата(iosifk @ Oct 25 2016, 16:06)  Я делаю так. Вся управляющая программа должна быть описана как самый верхний автомат состояний. И каким-то состояниям этого автомата должны быть приписаны разные экраны. В некоторых экранах есть "меню", которые тоже представляют собой автоматы состояний. И, соотв. каждому состоянию должно быть приписано условие отображения на этом экране. Нижние автоматы передают верхнему свое состояние или флаги. Как только сделаете чтобы отображение соответствовало состоянию автомата, так все далее будет легко и просто... Состояние главного автомата покажет, какой экран активный и в какой экран можно переходить, а в какой - нельзя. Соотв. нижний автомат покажет, какой пункт меню был нажат, какой выполнен, в какой можно переходить, а в какой - нельзя... Но должна же быть какая то глобальная структура хранящая состояния автомата. В принципе зная выбранный экран и выбранный раздел в нем я в свиче могу перебрать все кейсы и решить какое действие предпринять. Мне нужно найти какую нибудь компактную форму хранения выбранных разделов. Не хочу создавать двойной массив.
Сообщение отредактировал Jenya7 - Oct 25 2016, 11:16
|
|
|
|
Сообщений в этой теме
Jenya7 Организация меню. Oct 25 2016, 10:37  iosifk Цитата(Jenya7 @ Oct 25 2016, 14:11) Но до... Oct 25 2016, 11:18 Jenya7 а что если так
CODEtypedef struct SCREEN1_S
{
ui... Oct 25 2016, 11:26 iosifk Цитата(Jenya7 @ Oct 25 2016, 14:26) а что... Oct 25 2016, 11:35  Jenya7 Цитата(iosifk @ Oct 25 2016, 16:35) Ну пр... Oct 25 2016, 11:45   iosifk Цитата(Jenya7 @ Oct 25 2016, 14:45) У мен... Oct 25 2016, 11:51 k155la3 Цитата(Jenya7 @ Oct 25 2016, 13:37) У мен... Oct 25 2016, 12:49 Jenya7 Цитата(k155la3 @ Oct 25 2016, 17:49) Если... Oct 25 2016, 13:01  _pv Цитата(Jenya7 @ Oct 25 2016, 19:01) мне д... Oct 25 2016, 15:26   k155la3 Цитата(_pv @ Oct 25 2016, 18:26) меню сде... Oct 26 2016, 06:25    _pv Цитата(k155la3 @ Oct 26 2016, 13:25) В см... Oct 26 2016, 11:06     Jenya7 Цитата(_pv @ Oct 26 2016, 17:06) У каждог... Oct 27 2016, 05:56     k155la3 Цитата(_pv @ Oct 26 2016, 14:06) У каждог... Oct 27 2016, 06:18   Jenya7 Цитата(_pv @ Oct 25 2016, 21:26) меню сде... Oct 26 2016, 07:12 XVR Вам нужен стек, каждый элемент которого хранит ном... Oct 26 2016, 08:03 Jenya7 понял. спасибо. Oct 27 2016, 07:22 uriy Я тоже в нескольких проектах применял micromenu. Р... Oct 28 2016, 06:00 Jenya7 Цитата(uriy @ Oct 28 2016, 12:00) Я тоже ... Oct 29 2016, 16:07 Jenya7 портирую micromenu в проект и там есть такой дифа... Nov 3 2016, 06:52 k155la3 Цитата(Jenya7 @ Nov 3 2016, 09:52) . . . ... Nov 3 2016, 08:25  Jenya7 Цитата(k155la3 @ Nov 3 2016, 14:25) Распо... Nov 3 2016, 08:36 Jenya7 кто нибудь портировал под ARM это меню? начинает б... Nov 3 2016, 09:59 k155la3 Цитата(Jenya7 @ Nov 3 2016, 12:59) кто ни... Nov 3 2016, 10:07  Jenya7 Цитата(k155la3 @ Nov 3 2016, 16:07) Вы не... Nov 3 2016, 10:37   _pv Цитата(Jenya7 @ Nov 3 2016, 17:37) так то... Nov 3 2016, 16:50    Jenya7 Цитата(_pv @ Nov 3 2016, 22:50) чему там ... Nov 4 2016, 10:34     _pv Цитата(Jenya7 @ Nov 4 2016, 16:34) а поче... Nov 4 2016, 11:16      Jenya7 Цитата(_pv @ Nov 4 2016, 17:16) наследие ... Nov 4 2016, 11:50       _pv Цитата(Jenya7 @ Nov 4 2016, 17:50) я поня... Nov 4 2016, 12:38        Jenya7 Цитата(_pv @ Nov 4 2016, 18:38) 6 указате... Nov 4 2016, 13:10 Jenya7 Вобщем прикрутил таки
https://github.com/abcminiu... Jul 29 2018, 07:12 inventor я взял за образец меню от миландра
перетащил на св... Sep 6 2018, 15:59 Jenya7 Цитата(inventor @ Sep 6 2018, 20:59) я вз... Sep 7 2018, 06:37 x893 Если не секрет - Какая идея очень даже интересная ... Sep 7 2018, 07:00 Jenya7 Цитата(x893 @ Sep 7 2018, 13:00) Если не ... Sep 12 2018, 10:28
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|