Многоуровневое меню на классах, C++
Метки: windows | программирование | софт
Воскресенье, 5 декабря 2010 г.
Просмотров: 897
Подписаться на комментарии по RSS
По меню перемещаться можно с помощью стрелочек <UP>/<DOWN>; <ENTER> — раскрыть/закрыть пункт меню. <ESC> — выход из меню и отображение последнего выделенного пункта.
Меню сделано на базе деревьев, которые реализованы STL-подобным классом tree.hh (сайт проекта), это означает, что не вдаваясь в детали и не используя все возможности класса с ним работают так же как с контейнерными классами из STL, например с vector.
В классе четыре поля типа «дерево», которые отвечают за хранение текущего состояния меню: id каждого пункта; дерево названий пунктов; содержит ли пункт подпункты, если да, закрыты они в данный момент или открыты; еще одно — «дерево обратных ссылок» хранит информацию о количестве подпунктов, закрывающихся для обзора в случае закрытия их пункта-родителя — это нужно для перемещения вверх по меню, минуя эти недоступные глазу пункты.
Как с ним работать программисту видно на первой картинке. На второй видно что получается в консоли:

Версия учебная, поэтому некоторые методы не работают или недоделаны.
Скачать исходники (MS VS 2010, 188 Кб) »
Upd. Релиз не работает без библиотек 10-й студии.

Оставьте комментарий!