gpt4 book ai didi

c - 从 Motif 中的 BulletinBoard 小部件中删除关闭按钮

转载 作者:太空宇宙 更新时间:2023-11-04 03:37:48 26 4
gpt4 key购买 nike

是否可以从 Motif 中的 BulletinBoard 小部件中删除关闭按钮?或者,或者,附加一个回调函数?我知道我可以为顶层小部件执行此操作,但似乎无法为 BulletinBoard 执行此操作。

对于顶层 shell,我可以这样做以将回调函数附加到关闭按钮:

XmAddWMProtocolCallback(toplevel, XmInternAtom(display,"WM_DELETE_WINDOW",True),
(XtCallbackProc)buttonCB, (XtPointer)data);

或者我可以用这个完全删除它:

XtVaSetValues(toplevel, XmNmwmFunctions, MWM_FUNC_ALL | MWM_FUNC_CLOSE, NULL);

但是这些都不适用于 BulletinBoard 小部件。后者没有效果。前者报错,“Warning: Widget must be a VendorShell.”

最佳答案

我已经找到了一种方法来做到这一点。我发现我可以在创建 BB 小部件时使用 XtSetArg(myBB, ...) 而不是使用 XtVaSetValues。换句话说,

n=0;
XtSetArg(args[n], XmNheight, 300); n++;
XtSetArg(args[n], XmNwidth, 300); n++;
// ...etc...
XtSetArg(args[n], XmNmwmFunctions, MWM_FUNC_ALL|MWM_FUNC_CLOSE); n++; // <--- answer
myBB = XmCreateBulletinBoardDialog(parent, "myBB", args, n);

关于c - 从 Motif 中的 BulletinBoard 小部件中删除关闭按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com