c语言编写右键菜单,有木有学过GTK的?GtkTreeView怎么实现右键菜单?

这篇博客介绍了在GTK+环境中,如何处理右键点击事件,选中树形视图(TreeView)的行,并弹出菜单。作者通过解析API手册,成功实现了这一功能,但遇到问题在于如何为弹出菜单绑定事件。博客讨论了尝试为menuitem绑定'clicked'事件未果的情况,寻求解决方案。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

gboolean onButtonPressed(

GtkWidget *widget,

GdkEventButton *event,

gpointer userdata) {

GtkTreeModel *model;

GtkTreeIter iter;

GtkTreePath *path;

GtkTreePath *cousor_path;

GtkTreeViewColumn *col;

gint x,y;

gint cell_x, cell_y;

if (event->button == 1)

return FALSE;

if (event->button == 2)

return TRUE;

if (event->button == 3) {

if (event->type == GDK_BUTTON_PRESS) {

GdkEventButton *bevent = (GdkEventButton *)event;

gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,

bevent->button, bevent->time);

x = (gint)event->x;

y = (gint)event->y;

gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(treeview),

x, y, &path, &col, &cell_x, &cell_y);

gtk_widget_grab_focus(treeview);

gtk_tree_view_set_cursor(GTK_TREE_VIEW(treeview),

path, NULL, FALSE);

gtk_tree_path_free(path);

return TRUE;

}

}

return FALSE;

}

十一人真多呀,好不容易到家了。

看了一下API手册,总算把这个选中行搞定了。

现在就是弹出的菜单我怎么给弹出的菜单绑定事件,是什么事件?- -

我试了一下给menuitem绑定clicked事件,可是果断的没用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值