簡體   English   中英

Ncurses菜單-記住選擇

[英]Ncurses menu - remembering selection

我正在使用Ncurses庫執行一些交互式菜單,但我不知道該怎么做。 我有一個簡單的菜單,沒有幾個選項,我打開了O_ONEVALUE因此可以同時選擇許多選項,在發布菜單之前,我會獲得所有菜單項並將它們標記為已選中或未選中,具體取決於我保存在某處的位掩碼否則,但是在發布菜單時,每個選項都被關閉,這是代碼:

//acquiring menu items
ITEM** header_items = menu_items(params.header_opts_menu);
ITEM* cur_item;
if (header_items == NULL)
{
    client_cleanup();
    syslog_nsys_f(LOG_ERR, "error while getting header menu items");
}
//selecting appropriate items
long header_menu_items_count = ARRAY_SIZE(header_menu_choices);
for (i = 0; i < header_menu_items_count; ++i)
{
    if ((params.header_flags & (1 << (i))) != 0)
        decision = TRUE;
    else
        decision = FALSE;
    if (set_item_value(header_items[i], TRUE) != E_OK)
    {
        client_cleanup();
        syslog_nsys_f(LOG_ERR,"error while setting menu item value");
    }
}
if (post_menu(params.header_opts_menu) != E_OK)
{
    client_cleanup();
    syslog_nsys_f(LOG_ERR,"error while posting header options menu");
}
set_menu_items(params.header_opts_menu,header_items);
refresh();

即使我將每個項目的值都設置為TRUE也不會發生任何事情,我的錯誤在哪里?

看來您正在嘗試在調用post_menu之后調用set_menu_items。 檢查set_menu_items的返回值,您可能會收到E_POSTED錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM