2010-08-27 134 views
4

我認爲這很容易找到,但谷歌搜索一直非常無益。是否有一個簡單的API來更改X窗口中的鼠標光標? (我知道在windows中你可以調用「SetCursor」)C++ - 在X窗口中更改光標

+0

你看過'man Xcursor'嗎? – Troubadour 2010-08-27 11:45:54

+1

我開始閱讀,但它仍然很難得到好的信息。我想要做的就是「SetCursor(hand)」和「SetCursor(arrow)」。有沒有關於如何在某個地方做到這一點的例子? – Chris 2010-08-27 11:58:44

+0

我不會直接觸摸X.爲什麼不Qt,WX,Gtk什麼的? – 2010-08-27 11:59:00

回答

4
#include <X11/cursorfont.h> 

/* ... */ 

Cursor c; 

c = XCreateFontCursor(dpy, XC_xterm); 
XDefineCursor(dpy, w, c); 

其中dpy是您的顯示器,w是您的窗口,而XC_xterm是定義光標形狀的常量。這裏的a list of available cursor shape,以及圖像。

+0

上有更多詳細信息,但這些常量只會讓你看到「光標」字體中的醜陋圖標。你如何得到WM默認圖標陰影和一切? – cap 2015-07-15 01:18:23

2

看起來像一個SetCursor調用的等價物是XDefineCursor。通過調用XCreateFontCursor並傳入X11/cursorfont.h中的一個形狀,可以獲得Cursor ID。

+0

http://tronche.com/gui/x/xlib/pixmap-and-cursor/cursor.html – alanc 2010-08-27 16:48:42