只有当您的X11和图形硬件配置支持深度为32位的视觉效果时,它才会起作用.
#include <X11/Xlib.h>#include <X11/Xutil.h>int main(int argc,char* argv[]){ display* display = XOpendisplay(NulL); XVisualinfo vinfo; XMatchVisualinfo(display,DefaultScreen(display),32,Truecolor,&vinfo); XSetwindowAttributes attr; attr.colormap = XCreatecolormap(display,DefaultRootwindow(display),vinfo.visual,AllocNone); attr.border_pixel = 0; attr.background_pixel = 0; Window win = XCreateWindow(display,300,200,vinfo.depth,inputOutput,CWcolormap | CWborderPixel | CWBackPixel,&attr); XSelectinput(display,win,StructureNotifyMask); GC gc = XCreateGC(display,0); Atom wm_delete_window = XInternAtom(display,"WM_DELETE_WINDOW",0); XSetWMProtocols(display,&wm_delete_window,1); XMapWindow(display,win); int keep_running = 1; XEvent event; while (keep_running) { XNextEvent(display,&event); switch(event.type) { case ClIEntMessage: if (event.xclIEnt.message_type == XInternAtom(display,"WM_PROTOColS",1) && (Atom)event.xclIEnt.data.l[0] == XInternAtom(display,1)) keep_running = 0; break; default: break; } } XDestroyWindow(display,win); XClosedisplay(display); return 0;}总结
以上是内存溢出为你收集整理的c – 带有Xlib的空或透明窗口仅显示边框线全部内容,希望文章能够帮你解决c – 带有Xlib的空或透明窗口仅显示边框线所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)