gdk中怎么让鼠标只能在一条竖线上移动?

chenzhixin 2008-11-03 05:10:09
RT
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzhixin 2008-11-03
  • 打赏
  • 举报
回复

//锁定鼠标的移动
//FIXME:这个dx,dy是偏移量,要取反的
int move_mouse_relative(GtkWidget *widget,int dx, int dy)
{
gint x0, y0;
GdkScreen *screen;
GdkDisplay *display = gtk_widget_get_display(widget);

gdk_display_get_pointer(display, &screen, &x0, &y0, NULL);
//dprintk("MOUSE:xroot=%d,yroot=%d,dx=%d,dy=%d\n",x0,y0,dx,dy);

gdk_display_warp_pointer(display, screen, x0 + dx, y0 + dy);
return (TRUE);
}


move_mouse_relative(wbus->drawingarea,-(x-p2->x),0);

注意:这里要加上-(),这样的话,如果有多的话就要减去,少的话就要加上,才能让鼠标在一条竖线上移动

once_and_again 2008-11-03
  • 打赏
  • 举报
回复
控件...-------->
once_and_again 2008-11-03
  • 打赏
  • 举报
回复
竖线,的话,弄个空间,给的 宽度很小,
然后 setfocus()
不知道行不?

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧