Xlib 窗口操作函数全解析
1. 窗口销毁
在窗口管理中,销毁窗口是常见操作。销毁一个已映射的窗口时,会在被该窗口遮挡的其他窗口上生成 Expose 事件。使用 XDestroyWindow 函数销毁窗口时,可能会产生 BadWindow 错误。
若要销毁指定窗口的所有子窗口,可使用 XDestroySubwindows 函数,其调用格式如下:
XDestroySubwindows(display, w);
-
display:指定与 X 服务器的连接。 -
w:指定要操作的窗口。
XDestroySubwindows 函数会按照从下到上的堆叠顺序销毁指定窗口的所有子窗口。它会让 X 服务器为每个窗口生成 DestroyNotify 事件。若实际销毁了已映射的子窗口,还会在指定窗口上生成 Expose 事件。这种方式比逐个删除多个窗口更高效,因为很多工作只需对所有窗口执行一次,而非每个窗口都执行。销毁后的子窗口不应再被引用。同样, XDestroySubwindows 也可能产生 BadWindow 错误。
2. 窗口映射
当对一个窗口调用 XMapWindow 时,该窗口被视为已映射
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



