介面**:
menu.h
/** menu.h
** -- dynamic menu facility.
*/#ifndef __menu_h__
#define __menu_h__
struct path_nc
;/* 獲得選單項的名字 */
gchar *g_menu_item_get_label (gtkwidget *menu_item);
/* 獲得path的各個名字和個數 */
struct path_nc g_path_get(char path);
/* 獲得選單, 比如 "/檔案/開啟..." */
gtkwidget *g_menu_shell_get_menu (gtkwidget *menu_shell, char path);
/* 在選單條中插入乙個選單 */
gtkwidget *g_menu_shell_insert_menu (gtkwidget *menu_shell,
char path,
int position);
/* 在選單中插入乙個選單項 */
gtkwidget *g_menu_shell_insert_item (gtkwidget *menu_shell,
char path,
int position,
gcallback callback,
gpointer data);
/* 刪除乙個選單項 */
void g_menu_shell_delete (gtkwidget *menu_shell, char path);
#endif
menu.c/**
* menu.c
** -- dynamic menu facility.
*/#include
#include
#include "menu.h"
/* 獲得選單項的名字 */
gchar *g_menu_item_get_label (gtkwidget *menu_item)}}
/* 獲得path的各個名字和個數 */
struct path_nc g_path_get(char path)
return pnc;
}/* 獲得選單, 比如 "/檔案/開啟..." */
gtkwidget *g_menu_shell_get_menu (gtkwidget *menu_shell, char path)
}/* 在選單條中插入乙個選單/子選單 */
gtkwidget *g_menu_shell_insert_menu (gtkwidget *menu_shell,
char path,
int position)
else
gtk_widget_show_all(menu);
return menu;
}/* 在選單中插入乙個選單項 */
gtkwidget *g_menu_shell_insert_item (gtkwidget *menu_shell,
char path,
int position,
gcallback callback,
gpointer data)
/* 刪除乙個選單項 */
void g_menu_shell_delete (gtkwidget *menu_shell, char path)
}if(yes_no)
else
}if(!yes_no)}}
if(yes_no)
else
}else
return;
}測試程式:
addmenu.c
/*hxy--addmenu*/
#include
#include "menu.h"
int main(int argc,char *argv)
MFC中選單項的動態新增 刪除與響應
在編寫遊戲地圖編輯器時涉及到選單項的動態新增和動態響應,本文記錄了碰到的一些問題和解決方法。因為遊戲地圖是分層次儲存和顯示的,所以在編輯器主選單中有個layer選單,這個選單中的選單項除了乙個 show only 選單項和乙個sperator,其它的選單項是根據地圖中的層數和層的名字動態新增的,所以...
MFC中選單項的動態新增 刪除與響應
在編寫遊戲地圖編輯器時涉及到選單項的動態新增和動態響應,本文記錄了碰到的一些問題和解決方法。因為遊戲地圖是分層次儲存和顯示的,所以在編輯器主選單中有個layer選單,這個選單中的選單項除了乙個 show only 選單項和乙個sperator,其它的選單項是根據地圖中的層數和層的名字動態新增的,所以...
VC 動態加入和刪除選單的方法
在應用程式中,往往要根據當前的操作來增加相應的選單。動態增加選單的方法有多 種,本文只講述利用資源編輯器預建立選單資源,然後在程式執行中動態加入 或刪 除 到主選單中去的方法。在應用程式中,往往要根據當前的操作來增加相應的選單。動態增加選單的方法有多 除 到主選單中去的方法。resourecview...