soul_of_moon 发表于 2006-10-10 10:23:51

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

可以是删除鼠标,也可以是隐藏鼠标,等等,只要是在界面上看不到鼠标即可,谢谢!

mozilla 发表于 2006-10-10 12:08:35

其实就是创建一个透明的位图光标替换当前光标
我只是Xlib的例子,gtk的应该更简单
gdk_cursor_new_from_pixmap
gdk_window_set_cursor

#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);

}

soul_of_moon 发表于 2006-10-10 15:40:54

忘了说版本了,gtk2.0
我们自己也找了些方法,可惜有几个函数是在后面的版本里出现的,不用的话有内存泄露。希望哪位仁兄给个gtk的例子

mozilla 发表于 2006-10-10 17:09:30

gtk例程里好像有图形光标的例子

soul_of_moon 发表于 2006-10-10 18:28:25

我刚才找了一下,没有啊。例程中的例子都是很简单的,是每个widget的使用例子。而gtk里是没有鼠标的,鼠标的操作应该是在gdk中
页: [1]
查看完整版本: 如何使gtk界面上的鼠标消失?