- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
gtk编程——菜单
一、建立菜单
菜单由菜单条(GtkMenuBar)和从菜单条或其他菜单下拉的菜单(GtkMenu)组成。在建立菜单条以前必须先建立应用程序的纵向组合框。
建立菜单分为下面几个步骤:
(1)建立菜单条(GtkMenuBar),并把它加到纵向组合框内。函数gtk_menu_bar_new建立GtkMenuBar构件。
1.
名称::gtk_menu_bar_new功能:创建菜单条头文件:#include gtk/gtk.h函数原形:GtkWidget *gtk_menu_bar_new(void);参数:无返回值:新的菜单条 下面是建立菜单和将它放入纵向组合框的代码:
menuber=gtk_menu_bar_new();
gtk_box_pack_start(GTK_BOX(vbox),menubar,FALSE,TRUE,0);
gtk_widget_show(menubar);
(2)建立后的菜单条是空的,还需要增加菜单项。用gtk_menu_item_new_with_label建立带标号的菜单项。如:建立标号为 “File”的菜单项用下面的语句:
meanFile=gtk_menu_item_new_item_new_with_label(“File”);
2.
名称::gtk_menu_item_new_with_label功能:创建菜单项头文件:#include gtk/gtk.h函数原形:GtkWidget* gtk_menu_item_new_with_label(const gchar *label);参数:label 菜单项标号返回值:新的菜单项 (3)在建立菜单项后,需要将它加到前面建立的菜单条中。gtk_menu_bar_append函数能够实现上面的功能。我们把上面的菜单项加到菜单条里面的代码如下:
gtk_menu_bar_append(GTK_MENU_BAR(menubar),MenuFile);
注意gtk_menu_bar_append和下面的gtk_menu_bar_append实际上都是宏,gtk_menu_bar_append的定义是这样如下:
#define gtk_menu_bar_append(menu,child) gtk_menu_shell_append ((GtkMenuShell *)(menu),(child))
下面我们给出gtk_nenu_shell_append函数的原型:
3、
名称::gtk_menu_shell_append功能:把菜单项加入菜单头文件:#include gtk/gtk.h函数原形:void gtk_menu_shell_append(GtkMenuShell *menu,GtkWidget *child);参数:menu 菜单
child 菜单项返回值:无 于是上面的代码也可以改成:
gtk_menu_shell_append(GTK_MENU_SHELL(menubar),MenuFile);
到这里我们就可以编写如下图的菜单了
?
/*menu1.h*/
#include gtk/gtk.h
GtkWidget *CreateMenuItem(GtkWidget *MenuBar,char *test);
int main(int argc,char *argv[ ])
{
GtkWidget *window;/*定义窗体*/
GtkWidget *MenuBar;/*定义菜单条*/
GtkWidget *box;/*定义组合框*/
gtk_init(argc,argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_set_usize(window,400,200);/*设置窗体大小*/
gtk_signal_connect(GTK_OBJECT(window),”destroy”,G_CALLBACK(gtk_main_quit),NULL);
box=gtk_vbox_new(FALSE,0);/*创建纵向组合框*/
gtk_container_add(GTK_CONTAINER(window),box);/*把组合框加入窗体*/
MenuBar=gtk_menu_bar_new();/*创建菜单条*/
gtk_box_pack_start(GTK_BOX(box),MenuBar,FALSE,TRUE,0);/*把菜单条加入组合框*/
CreateMenuItem(MenuBar,”Fiel”);/*调
您可能关注的文档
最近下载
- 胰岛素抵抗和代谢综合征课件.pptx VIP
- 胰岛素抵抗和代谢综合征.ppt VIP
- GB/T 17747.1-2011_天然气压缩因子的计算 第1部分:导论和指南.pdf
- 《基础护理学》第7章 休息与活动(含答案).docx
- 城市中心区综合性公园使用现状调查研究————以成都市人民公园为例.docx
- 产品档案管理制度及流程.pdf
- 中华民族一家亲,同心共筑中国梦.pptx VIP
- “社工+志愿者”联动模式的思考及对策研究--以惠州市河背社区志愿者项目为例.docx
- 国家开放大学,地域文化,人文武隆形考一 (3).pptx VIP
- (黑龙江省)新课标高中信息技术会考试题 学科整合 试题及答案..doc VIP
文档评论(0)