⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test17.c

📁 安装DDD之前
💻 C
字号:
/*Subject:	Some changes to MessageBox and ResConvertDate:		Sun, 30 Aug 1998 22:30:44 +0200From:		Karsten Jensen <kbwj@diku.dk>test17.c shows the geometry of all the children in a MessageBox.*/#include <Xm/XmP.h>#include <Xm/Form.h>#include <Xm/PushB.h>#include <Xm/PushBGP.h>#include <Xm/SeparatoGP.h>#include <Xm/MessageBP.h>#include <stdio.h>static XtWidgetProc old_resize = NULL;static voidresize(Widget w){    XmMessageBoxWidget mw = (XmMessageBoxWidget) w;    (*old_resize) (w);    fprintf(stderr, "MessageBox width %3i, height %3i\n",	    mw->core.width, mw->core.height);    if (mw->message_box.message_wid != NULL)    {	fprintf(stderr, "MessageWidget x %3i, y %3i %s\n",		XtX(mw->message_box.message_wid),		XtY(mw->message_box.message_wid),		XtIsManaged(mw->message_box.message_wid) ?		"Managed" : "Unmanaged");	fprintf(stderr, "MessageWidget width %3i, height %3i\n",		XtWidth(mw->message_box.message_wid),		XtHeight(mw->message_box.message_wid));    }    else    {	fprintf(stderr, "MessageWidget is NULL\n");    }    if (mw->message_box.symbol_wid != NULL)    {	fprintf(stderr, "SymbolWidget x %3i, y %3i %s\n",		XtX(mw->message_box.symbol_wid),		XtY(mw->message_box.symbol_wid),		XtIsManaged(mw->message_box.symbol_wid) ?		"Managed" : "Unmanaged");	fprintf(stderr, "SymbolWidget width %3i, height %3i\n",		XtWidth(mw->message_box.symbol_wid),		XtHeight(mw->message_box.symbol_wid));    }    else    {	fprintf(stderr, "SymbolWidget is NULL\n");    }    if (mw->message_box.separator != NULL)    {	fprintf(stderr, "Separator x %3i, y %3i %s\n",		XtX(mw->message_box.separator),		XtY(mw->message_box.separator),		XtIsManaged(mw->message_box.separator) ?		"Managed" : "Unmanaged");	fprintf(stderr, "Separator width %3i, height %3i\n",		XtWidth(mw->message_box.separator),		XtHeight(mw->message_box.separator));    }    else    {	fprintf(stderr, "Separator is NULL\n");    }    if (mw->message_box.ok_button != NULL)    {	fprintf(stderr, "OkButton x %3i, y %3i %s\n",		XtX(mw->message_box.ok_button),		XtY(mw->message_box.ok_button),		XtIsManaged(mw->message_box.ok_button) ?		"Managed" : "Unmanaged");	fprintf(stderr, "OkButton width %3i, height %3i\n",		XtWidth(mw->message_box.ok_button),		XtHeight(mw->message_box.ok_button));    }    else    {	fprintf(stderr, "OkButton is NULL\n");    }    if (mw->message_box.help_button != NULL)    {	fprintf(stderr, "HelpButton x %3i, y %3i %s\n",		XtX(mw->message_box.help_button),		XtY(mw->message_box.help_button),			XtIsManaged(mw->message_box.help_button) ?		"Managed" : "Unmanaged");fprintf(stderr, "HelpButton width %3i, height %3i\n",		XtWidth(mw->message_box.help_button),		XtHeight(mw->message_box.help_button));    }    else    {	fprintf(stderr, "HelpButton is NULL\n");    }    if (mw->bulletin_board.cancel_button != NULL)    {	fprintf(stderr, "CancelButton x %3i, y %3i %s\n",		XtX(mw->bulletin_board.cancel_button),		XtY(mw->bulletin_board.cancel_button),		XtIsManaged(mw->bulletin_board.cancel_button) ?		"Managed" : "Unmanaged");	fprintf(stderr, "CancelButton width %3i, height %3i\n\n",		XtWidth(mw->bulletin_board.cancel_button),		XtHeight(mw->bulletin_board.cancel_button));    }    else    {	fprintf(stderr, "CancelButton is NULL\n\n");    }}static voidinstall_wrapper(void){    WidgetClass super_class;    super_class  = (WidgetClass)&xmMessageBoxClassRec;	old_resize = super_class->core_class.resize;    while(old_resize == XtInheritResize)    {	super_class = super_class->core_class.superclass;	old_resize = super_class->core_class.resize;    }    xmMessageBoxClassRec.core_class.resize = resize;}static char *fallbacks[] ={    "*mb.showSeparator: True",    NULL};intmain(int argc, char **argv){    XtAppContext theApp;    Widget shell, mb;    shell = XtVaAppInitialize(&theApp, "Test1", NULL, 0,				 &argc, argv, fallbacks, NULL);    install_wrapper();    mb = XmCreateMessageBox(shell, "mb", NULL, 0);    XtManageChild(mb);    XtRealizeWidget(shell);{static XtWidgetGeometry Expected[] = {   CWWidth | CWHeight            ,   56,   72,  214,   89, 0,0,0, /* mb */   CWWidth | CWHeight | CWX | CWY,    0,    0,    4,    4, 0,0,0, /* Symbol */   CWWidth | CWHeight | CWX | CWY,   11,   11,  192,    4, 0,0,0, /* Message */   CWWidth | CWHeight | CWX | CWY,    0,   25,  214,    2, 0,0,0, /* Separator */   CWWidth | CWHeight | CWX | CWY,   11,   37,   64,   41, 0,0,0, /* OK */   CWWidth | CWHeight | CWX | CWY,   75,   37,   64,   41, 0,0,0, /* Cancel */   CWWidth | CWHeight | CWX | CWY,  139,   37,   64,   41, 0,0,0, /* Help */};/* toplevel should be replaced with to correct applicationShell */PrintDetails(shell, Expected);}  LessTifTestMainLoop(shell);    exit(0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -