找回密码
 注册
查看: 1681|回复: 4

如何使gtk界面上的鼠标消失?

[复制链接]
发表于 2006-10-10 10:23:51 | 显示全部楼层 |阅读模式
可以是删除鼠标,也可以是隐藏鼠标,等等,只要是在界面上看不到鼠标即可,谢谢!
发表于 2006-10-10 12:08:35 | 显示全部楼层
其实就是创建一个透明的位图光标替换当前光标
我只是Xlib的例子,gtk的应该更简单
gdk_cursor_new_from_pixmap
gdk_window_set_cursor
[code:1]
#include <X11/Xlib.h>

#include <stdio.h>
#include <stdlib.h>                /* getenv(), etc. */
#include <unistd.h>                /* sleep(), etc.  */
Cursor cursor;
hide_cursor(Display *display,Window win)
{
    unsigned char curs_no[] = {
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    };
    Pixmap no_cursor;
    XColor white,black,dummy;

    XAllocNamedColor(display,DefaultColormap(display,0),"black", &black,&dummy);
    XAllocNamedColor(display,DefaultColormap(display,0),"white", &white,&dummy);
   
    no_cursor=XCreateBitmapFromData(display,win,curs_no,8,8);
    cursor=XCreatePixmapCursor(display,no_cursor,no_cursor,&white,&black,0,0);
    XDefineCursor(display,win,cursor);
    XFlush(display);

}
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2006-10-10 15:40:54 | 显示全部楼层
忘了说版本了,gtk2.0
我们自己也找了些方法,可惜有几个函数是在后面的版本里出现的,不用的话有内存泄露。希望哪位仁兄给个gtk的例子
回复

使用道具 举报

发表于 2006-10-10 17:09:30 | 显示全部楼层
gtk例程里好像有图形光标的例子
回复

使用道具 举报

 楼主| 发表于 2006-10-10 18:28:25 | 显示全部楼层
我刚才找了一下,没有啊。例程中的例子都是很简单的,是每个widget的使用例子。而gtk里是没有鼠标的,鼠标的操作应该是在gdk中
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-6 16:04 , Processed in 0.023031 second(s), 15 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表