Witam Kolegów
Ostatnio zachciało mi się zmienić podejście do tworzenia menu. Do tej pory realizowałem je na konstrukcjach switch-case. Jednak ten sposób jest dość uciążliwy, jeżeli menu ma być mocno rozbudowane, ma posiadać submenu itp.
Postanowiłem dokonać przesiadki na bardziej przyjazny sposób tworzenia menu. Odpowiedź była jasna: tablice, struktury i wskaźniki...
Poszukałem, pogmerałem i znalazłem kilka bardzo ciekawych "modeli" menu. Były to m.in. menu Butterfly, tinymenu. Niestety jakoś nie mogłem się w nich odnaleźć. Czegoś mi w nich brakowało. Wreszcie w przepastnych czeluściach brzuszyska wujka Gugla trafiłem na projekt Niemca Tobiasa Schlegela. OLD_LCDmenu jest do obejrzenia tutaj a paczka z kodami jest do pobrania tutaj.
Dodanie menu do własnego projektu nie sprawiło żadnych problemów. Brak warningów itp. tym bardziej napawał mnie optymizmem.
Niestety za wcześnie się ucieszyłem. Po wgraniu aplikacji, która w pętli głównej nie robi nic więcej poza obsługą (nawigacja, wyświetlanie) menu przyszło rozczarowanie. Na głównym poziomie menu na wyświetlaczu znajdują się same "krzaczki". Dopiero po przejściu do submenu lub subsubmenu wszystko jest wyświetlane i obsługiwane "cacy". Wygląda mi to tak, jakby brakowało czegoś w inicjalizacji wskaźnika na główne menu. Poniżej kody:
No i główna pętla programu:
Koledzy spójrzcie na ten kod i podpowiedzcie co może być nie tak, że wywołanie jako aktualnego menu *ui_TopMenu wywala same krzaki na wyświetlaczu, natomiast nawigacja po niższych poziomach menu przebiega bez najmniejszych problemów.
Dodam tylko, że autor ma też dostępną nowszą wersję menu tutaj.
Ostatnio zachciało mi się zmienić podejście do tworzenia menu. Do tej pory realizowałem je na konstrukcjach switch-case. Jednak ten sposób jest dość uciążliwy, jeżeli menu ma być mocno rozbudowane, ma posiadać submenu itp.
Postanowiłem dokonać przesiadki na bardziej przyjazny sposób tworzenia menu. Odpowiedź była jasna: tablice, struktury i wskaźniki...
Poszukałem, pogmerałem i znalazłem kilka bardzo ciekawych "modeli" menu. Były to m.in. menu Butterfly, tinymenu. Niestety jakoś nie mogłem się w nich odnaleźć. Czegoś mi w nich brakowało. Wreszcie w przepastnych czeluściach brzuszyska wujka Gugla trafiłem na projekt Niemca Tobiasa Schlegela. OLD_LCDmenu jest do obejrzenia tutaj a paczka z kodami jest do pobrania tutaj.
Dodanie menu do własnego projektu nie sprawiło żadnych problemów. Brak warningów itp. tym bardziej napawał mnie optymizmem.
Niestety za wcześnie się ucieszyłem. Po wgraniu aplikacji, która w pętli głównej nie robi nic więcej poza obsługą (nawigacja, wyświetlanie) menu przyszło rozczarowanie. Na głównym poziomie menu na wyświetlaczu znajdują się same "krzaczki". Dopiero po przejściu do submenu lub subsubmenu wszystko jest wyświetlane i obsługiwane "cacy". Wygląda mi to tak, jakby brakowało czegoś w inicjalizacji wskaźnika na główne menu. Poniżej kody:
Kod: text
Kod: text
No i główna pętla programu:
Kod: text
Koledzy spójrzcie na ten kod i podpowiedzcie co może być nie tak, że wywołanie jako aktualnego menu *ui_TopMenu wywala same krzaki na wyświetlaczu, natomiast nawigacja po niższych poziomach menu przebiega bez najmniejszych problemów.
Dodam tylko, że autor ma też dostępną nowszą wersję menu tutaj.

Dodawanie kolejnych pozycji do tego i tak już rozrośniętego menu będzie po prostu nieporozumieniem... Menu pochodzi z