# lv_menu.h (/api/public/widgets/lv_menu_h)



<RelatedHeaders name="lv_menu_private.h" isPrivate="false" />

<ApiSummary functions="22" enums="3" macros="1" variables="9" />

Functions [#functions]

<ApiTabs items="[&#x22;Setters (7)&#x22;,&#x22;Getters (8)&#x22;,&#x22;Other (7)&#x22;]">
  <ApiTab value="Setters (7)">
    <ApiMember kind="function" name="lv_menu_set_page" file="public/widgets/lv_menu.h" line="138" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L138">
      lv_menu_set_page [#lv_menu_set_page]

      Set menu page to display in main

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      void lv_menu_set_page(lv_obj_t *obj, lv_obj_t *page)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                             | Description                                                                                                |
      | ------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu                                                                                        |
      | `page` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu page to set. **May** be `NULL`. When NULL main is cleared along with the menu history. |
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_set_page_title" file="public/widgets/lv_menu.h" line="148" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L148">
      lv_menu_set_page_title [#lv_menu_set_page_title]

      Set menu page title

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      void lv_menu_set_page_title(lv_obj_t *page_obj, char const *const title)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name       | Type                                             | Description                                                                              |
      | ---------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------- |
      | `page_obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu page                                                                 |
      | `title`    | `char const *const`                              | pointer to text for title in header. **May** be `NULL`. When NULL no title is displayed. |
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_set_page_title_static" file="public/widgets/lv_menu.h" line="159" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L159">
      lv_menu_set_page_title_static [#lv_menu_set_page_title_static]

      Set menu page title with a static text. It will not be saved by the label so the 'text' variable has to be 'alive' while the page exists.

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      void lv_menu_set_page_title_static(lv_obj_t *page_obj, char const *const title)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name       | Type                                             | Description                                                                              |
      | ---------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------- |
      | `page_obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu page                                                                 |
      | `title`    | `char const *const`                              | pointer to text for title in header. **May** be `NULL`. When NULL no title is displayed. |
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_set_sidebar_page" file="public/widgets/lv_menu.h" line="169" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L169">
      lv_menu_set_sidebar_page [#lv_menu_set_sidebar_page]

      Set menu page to display in sidebar

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      void lv_menu_set_sidebar_page(lv_obj_t *obj, lv_obj_t *page)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                             | Description                                                                           |
      | ------ | ------------------------------------------------ | ------------------------------------------------------------------------------------- |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu                                                                   |
      | `page` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu page to set. **May** be `NULL`. When NULL the sidebar is cleared. |
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_set_mode_header" file="public/widgets/lv_menu.h" line="178" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L178">
      lv_menu_set_mode_header [#lv_menu_set_mode_header]

      Set the how the header should behave and its position

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      void lv_menu_set_mode_header(lv_obj_t *obj, lv_menu_mode_header_t mode)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                             | Description                                             |
      | ------ | ------------------------------------------------ | ------------------------------------------------------- |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a menu                                       |
      | `mode` | <ApiLink name="lv_menu_mode_header_t" />         | LV\_MENU\_HEADER\_TOP\_FIXED/TOP\_UNFIXED/BOTTOM\_FIXED |
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_set_mode_root_back_button" file="public/widgets/lv_menu.h" line="187" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L187">
      lv_menu_set_mode_root_back_button [#lv_menu_set_mode_root_back_button]

      Set whether back button should appear at root

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      void lv_menu_set_mode_root_back_button(lv_obj_t *obj, lv_menu_mode_root_back_button_t mode)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                               | Description                                    |
      | ------ | -------------------------------------------------- | ---------------------------------------------- |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" />   | pointer to a menu                              |
      | `mode` | <ApiLink name="lv_menu_mode_root_back_button_t" /> | LV\_MENU\_ROOT\_BACK\_BUTTON\_DISABLED/ENABLED |
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_set_load_page_event" file="public/widgets/lv_menu.h" line="197" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L197">
      lv_menu_set_load_page_event [#lv_menu_set_load_page_event]

      Add menu to the menu item

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      void lv_menu_set_load_page_event(lv_obj_t *menu, lv_obj_t *obj, lv_obj_t *page)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                             | Description                                     |
      | ------ | ------------------------------------------------ | ----------------------------------------------- |
      | `menu` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu                             |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the obj                              |
      | `page` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the page to load when obj is clicked |
    </ApiMember>
  </ApiTab>

  <ApiTab value="Getters (8)">
    <ApiMember kind="function" name="lv_menu_get_cur_main_page" file="public/widgets/lv_menu.h" line="209" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L209">
      lv_menu_get_cur_main_page [#lv_menu_get_cur_main_page]

      Get a pointer to menu page that is currently displayed in main

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_get_cur_main_page(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description         |
      | ----- | ------------------------------------------------ | ------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to current page
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_get_cur_sidebar_page" file="public/widgets/lv_menu.h" line="218" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L218">
      lv_menu_get_cur_sidebar_page [#lv_menu_get_cur_sidebar_page]

      Get a pointer to menu page that is currently displayed in sidebar

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_get_cur_sidebar_page(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description         |
      | ----- | ------------------------------------------------ | ------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to current page
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_get_main_header" file="public/widgets/lv_menu.h" line="227" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L227">
      lv_menu_get_main_header [#lv_menu_get_main_header]

      Get a pointer to main header obj

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_get_main_header(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description         |
      | ----- | ------------------------------------------------ | ------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to main header obj
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_get_main_header_back_button" file="public/widgets/lv_menu.h" line="236" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L236">
      lv_menu_get_main_header_back_button [#lv_menu_get_main_header_back_button]

      Get a pointer to main header back btn obj

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_get_main_header_back_button(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description         |
      | ----- | ------------------------------------------------ | ------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to main header back btn obj
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_get_sidebar_header" file="public/widgets/lv_menu.h" line="245" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L245">
      lv_menu_get_sidebar_header [#lv_menu_get_sidebar_header]

      Get a pointer to sidebar header obj

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_get_sidebar_header(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description         |
      | ----- | ------------------------------------------------ | ------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to sidebar header obj
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_get_sidebar_header_back_button" file="public/widgets/lv_menu.h" line="254" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L254">
      lv_menu_get_sidebar_header_back_button [#lv_menu_get_sidebar_header_back_button]

      Get a pointer to sidebar header obj

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_get_sidebar_header_back_button(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description         |
      | ----- | ------------------------------------------------ | ------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to sidebar header back btn obj
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_get_mode_header" file="public/widgets/lv_menu.h" line="273" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L273">
      lv_menu_get_mode_header [#lv_menu_get_mode_header]

      Get the header mode of the menu

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_menu_mode_header_t lv_menu_get_mode_header(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description       |
      | ----- | ------------------------------------------------ | ----------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a menu |

      **Returns:** <ApiLink name="lv_menu_mode_header_t" /> — LV\_MENU\_HEADER\_TOP\_FIXED/TOP\_UNFIXED/BOTTOM\_FIXED
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_get_mode_root_back_button" file="public/widgets/lv_menu.h" line="282" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L282">
      lv_menu_get_mode_root_back_button [#lv_menu_get_mode_root_back_button]

      Get the root back button mode of the menu

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_menu_mode_root_back_button_t lv_menu_get_mode_root_back_button(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description       |
      | ----- | ------------------------------------------------ | ----------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a menu |

      **Returns:** <ApiLink name="lv_menu_mode_root_back_button_t" /> — LV\_MENU\_ROOT\_BACK\_BUTTON\_DISABLED/ENABLED
    </ApiMember>
  </ApiTab>

  <ApiTab value="Other (7)">
    <ApiMember kind="function" name="lv_menu_create" file="public/widgets/lv_menu.h" line="84" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L84">
      lv_menu_create [#lv_menu_create]

      Create a menu object

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. Build menu navigation from base widgets instead. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_create(lv_obj_t *parent)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                             | Description                                                                                                         |
      | -------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------- |
      | `parent` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a parent widget **May** be `NULL`.. When NULL, the widget is created as a screen on the default display. |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to the created menu
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_page_create" file="public/widgets/lv_menu.h" line="99" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L99">
      lv_menu_page_create [#lv_menu_page_create]

      Create a menu page object.

      This call inserts the new page under menu->storage as its parent, which is itself a child of the menu, so the resulting object hierarchy is: menu => storage => new\_page where `storage` is a Base Widget.

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_page_create(lv_obj_t *menu, char const *const title)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name    | Type                                             | Description                                                                              |
      | ------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------- |
      | `menu`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to menu object.                                                                  |
      | `title` | `char const *const`                              | pointer to text for title in header. **May** be `NULL`. When NULL no title is displayed. |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to the created menu page
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_cont_create" file="public/widgets/lv_menu.h" line="108" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L108">
      lv_menu_cont_create [#lv_menu_cont_create]

      Create a menu cont object

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_cont_create(lv_obj_t *parent)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                             | Description                                                                                      |
      | -------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
      | `parent` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a menu page or menu section object, it will be the parent of the new menu cont object |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to the created menu cont
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_section_create" file="public/widgets/lv_menu.h" line="117" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L117">
      lv_menu_section_create [#lv_menu_section_create]

      Create a menu section object

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_section_create(lv_obj_t *parent)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                             | Description                                                                         |
      | -------- | ------------------------------------------------ | ----------------------------------------------------------------------------------- |
      | `parent` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a menu page object, it will be the parent of the new menu section object |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to the created menu section
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_separator_create" file="public/widgets/lv_menu.h" line="126" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L126">
      lv_menu_separator_create [#lv_menu_separator_create]

      Create a menu separator object

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      lv_obj_t * lv_menu_separator_create(lv_obj_t *parent)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name     | Type                                             | Description                                                                           |
      | -------- | ------------------------------------------------ | ------------------------------------------------------------------------------------- |
      | `parent` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to a menu page object, it will be the parent of the new menu separator object |

      **Returns:** <ApiLink name="lv_obj_t" display="lv_obj_t *" /> — pointer to the created menu separator
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_back_button_is_root" file="public/widgets/lv_menu.h" line="264" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L264">
      lv_menu_back_button_is_root [#lv_menu_back_button_is_root]

      Check if an obj is a root back btn

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      bool lv_menu_back_button_is_root(lv_obj_t *menu, lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name   | Type                                             | Description                |
      | ------ | ------------------------------------------------ | -------------------------- |
      | `menu` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu        |
      | `obj`  | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the back button |

      **Returns:** `bool` — true if it is a root back btn
    </ApiMember>

    <ApiMember kind="function" name="lv_menu_clear_history" file="public/widgets/lv_menu.h" line="290" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L290">
      lv_menu_clear_history [#lv_menu_clear_history]

      Clear menu history

      \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated. See `lv_example_menu_navigation`.

      ```c title=" " lineNumbers=1
      void lv_menu_clear_history(lv_obj_t *obj)
      ```

      <span className="sr-only">
        Parameters
      </span>

      | Name  | Type                                             | Description         |
      | ----- | ------------------------------------------------ | ------------------- |
      | `obj` | <ApiLink name="lv_obj_t" display="lv_obj_t *" /> | pointer to the menu |
    </ApiMember>
  </ApiTab>
</ApiTabs>

Enums [#enums]

<ApiMember kind="enum" name="lv_menu_mode_header_t" file="public/widgets/lv_menu.h" line="42" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L42">
  lv_menu_mode_header_t [#lv_menu_mode_header_t]

  | Name                          | Description                                                     |
  | ----------------------------- | --------------------------------------------------------------- |
  | `LV_MENU_HEADER_TOP_FIXED`    | Header is positioned at the top                                 |
  | `LV_MENU_HEADER_TOP_UNFIXED`  | Header is positioned at the top and can be scrolled out of view |
  | `LV_MENU_HEADER_BOTTOM_FIXED` | Header is positioned at the bottom                              |
</ApiMember>

<TypeUsedBy name="lv_menu_mode_header_t" count="1">
  * `lv_menu_set_mode_header` — param `mode`
</TypeUsedBy>

<ApiMember kind="enum" name="lv_menu_mode_root_back_button_t" file="public/widgets/lv_menu.h" line="48" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L48">
  lv_menu_mode_root_back_button_t [#lv_menu_mode_root_back_button_t]

  | Name                                |
  | ----------------------------------- |
  | `LV_MENU_ROOT_BACK_BUTTON_DISABLED` |
  | `LV_MENU_ROOT_BACK_BUTTON_ENABLED`  |
</ApiMember>

<TypeUsedBy name="lv_menu_mode_root_back_button_t" count="1">
  * `lv_menu_set_mode_root_back_button` — param `mode`
</TypeUsedBy>

<ApiMember kind="enum" name="__lv_property_menu_id_t" file="public/widgets/lv_menu.h" line="64" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L64">
  \__lv_property_menu_id_t [#__lv_property_menu_id_t]

  | Name                                     | Value                                                         |
  | ---------------------------------------- | ------------------------------------------------------------- |
  | `LV_PROPERTY_MENU_MODE_HEADER`           | `(LV_PROPERTY_MENU_START + ((int) 0 )) \| ((  1   ) <<  28 )` |
  | `LV_PROPERTY_MENU_MODE_ROOT_BACK_BUTTON` | `(LV_PROPERTY_MENU_START + ((int) 1 )) \| ((  1   ) <<  28 )` |
  | `LV_PROPERTY_MENU_END`                   |                                                               |
</ApiMember>

Macros [#macros]

<ApiMember kind="macro" name="LV_MENU_DEPRECATED_MSG" file="public/widgets/lv_menu.h" line="36" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L36">
  LV_MENU_DEPRECATED_MSG [#lv_menu_deprecated_msg]

  ```c title=" " lineNumbers=1
  #define LV_MENU_DEPRECATED_MSG "lv_menu is deprecated; build menu navigation from base widgets instead. See the lv_example_menu_navigation example."
  ```

  \> &#x2A;*Deprecated:** The `lv_menu` widget is deprecated and kept only for backward compatibility. A menu is page navigation over base widgets: pages built from `lv_obj` and a back button that swaps the visible page. Build it directly instead. See the `lv_example_menu_navigation` example. All `lv_menu_*` functions below are deprecated.
</ApiMember>

Variables [#variables]

<ApiMember kind="variable" name="lv_menu_class" file="public/widgets/lv_menu.h" line="53" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L53">
  lv_menu_class [#lv_menu_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_menu_class
  ```
</ApiMember>

<ApiMember kind="variable" name="lv_menu_page_class" file="public/widgets/lv_menu.h" line="54" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L54">
  lv_menu_page_class [#lv_menu_page_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_menu_page_class
  ```
</ApiMember>

<ApiMember kind="variable" name="lv_menu_cont_class" file="public/widgets/lv_menu.h" line="55" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L55">
  lv_menu_cont_class [#lv_menu_cont_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_menu_cont_class
  ```
</ApiMember>

<ApiMember kind="variable" name="lv_menu_section_class" file="public/widgets/lv_menu.h" line="56" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L56">
  lv_menu_section_class [#lv_menu_section_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_menu_section_class
  ```
</ApiMember>

<ApiMember kind="variable" name="lv_menu_separator_class" file="public/widgets/lv_menu.h" line="57" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L57">
  lv_menu_separator_class [#lv_menu_separator_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_menu_separator_class
  ```
</ApiMember>

<ApiMember kind="variable" name="lv_menu_sidebar_cont_class" file="public/widgets/lv_menu.h" line="58" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L58">
  lv_menu_sidebar_cont_class [#lv_menu_sidebar_cont_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_menu_sidebar_cont_class
  ```
</ApiMember>

<ApiMember kind="variable" name="lv_menu_main_cont_class" file="public/widgets/lv_menu.h" line="59" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L59">
  lv_menu_main_cont_class [#lv_menu_main_cont_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_menu_main_cont_class
  ```
</ApiMember>

<ApiMember kind="variable" name="lv_menu_sidebar_header_cont_class" file="public/widgets/lv_menu.h" line="60" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L60">
  lv_menu_sidebar_header_cont_class [#lv_menu_sidebar_header_cont_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_menu_sidebar_header_cont_class
  ```
</ApiMember>

<ApiMember kind="variable" name="lv_menu_main_header_cont_class" file="public/widgets/lv_menu.h" line="61" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/widgets/lv_menu.h#L61">
  lv_menu_main_header_cont_class [#lv_menu_main_header_cont_class]

  ```c title=" " lineNumbers=1
  const lv_obj_class_t lv_menu_main_header_cont_class
  ```
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_obj.h&#x22;, &#x22;lv_obj_property.h&#x22;]" includedBy="[&#x22;lvgl.h&#x22;]" transitiveIncludes="[&#x22;lv_anim.h&#x22;, &#x22;lv_area.h&#x22;, &#x22;lv_assert.h&#x22;, &#x22;lv_bidi.h&#x22;, &#x22;lv_color.h&#x22;, &#x22;lv_color_op.h&#x22;, &#x22;lv_conf_internal.h&#x22;, &#x22;lv_display.h&#x22;, &#x22;lv_draw.h&#x22;, &#x22;lv_draw_arc.h&#x22;, &#x22;lv_draw_blur.h&#x22;, &#x22;lv_draw_buf.h&#x22;, &#x22;lv_draw_image.h&#x22;, &#x22;lv_draw_label.h&#x22;, &#x22;lv_draw_line.h&#x22;, &#x22;lv_draw_rect.h&#x22;, &#x22;lv_draw_triangle.h&#x22;, &#x22;lv_event.h&#x22;, &#x22;lv_ext_data.h&#x22;, &#x22;lv_flex.h&#x22;, &#x22;lv_font.h&#x22;, &#x22;lv_fs.h&#x22;, &#x22;lv_grad.h&#x22;, &#x22;lv_grid.h&#x22;, &#x22;lv_group.h&#x22;, &#x22;lv_image_decoder.h&#x22;, &#x22;lv_image_dsc.h&#x22;, &#x22;lv_indev.h&#x22;, &#x22;lv_layout.h&#x22;, &#x22;lv_log.h&#x22;, &#x22;lv_math.h&#x22;, &#x22;lv_matrix.h&#x22;, &#x22;lv_mem.h&#x22;, &#x22;lv_obj_class.h&#x22;, &#x22;lv_obj_draw.h&#x22;, &#x22;lv_obj_event.h&#x22;, &#x22;lv_obj_pos.h&#x22;, &#x22;lv_obj_scroll.h&#x22;, &#x22;lv_obj_style.h&#x22;, &#x22;lv_obj_style_gen.h&#x22;, &#x22;lv_obj_tree.h&#x22;, &#x22;lv_palette.h&#x22;, &#x22;lv_profiler.h&#x22;, &#x22;lv_profiler_builtin.h&#x22;, &#x22;lv_sprintf.h&#x22;, &#x22;lv_string.h&#x22;, &#x22;lv_style.h&#x22;, &#x22;lv_style_gen.h&#x22;, &#x22;lv_symbol_def.h&#x22;, &#x22;lv_text.h&#x22;, &#x22;lv_timer.h&#x22;, &#x22;lv_types.h&#x22;]" />
