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

📄 test1.c

📁 安装DDD之前
💻 C
字号:
/* * *LIBS: -lXm -lXt -lX11 */#include <X11/Xatom.h>#include <X11/Intrinsic.h>#include <X11/Shell.h>#include <Xm/Xm.h>#include <Xm/DialogS.h>#include <Xm/Label.h>#include <Xm/MessageB.h>#include <stdio.h>Widget          appshell = (Widget) NULL;Widget          label = (Widget) NULL;void create_msg_shell(parent, screen_num)	Widget          parent;	int             screen_num;{	Display        *display = XtDisplay(parent);	Arg             al[64];	register int    ac = 0;	Widget          msg_shell;	Widget          msg;	XtSetArg(al[ac], XmNallowShellResize, True);	ac++;	XtSetArg(al[ac], XmNscreen, XScreenOfDisplay(display, screen_num));	ac++;	XtSetArg(al[ac], XmNvisual, XDefaultVisual(display, screen_num));	ac++;	XtSetArg(al[ac], XmNcolormap, XDefaultColormap(display,						       screen_num));	ac++;	XtSetArg(al[ac], XmNdepth, XDefaultDepth(display, screen_num));	ac++;	msg_shell = XmCreateDialogShell(parent, "msg_shell", al, ac);	ac = 0;	XtSetArg(al[ac], XmNdialogType, XmDIALOG_INFORMATION);	ac++;	msg = XmCreateMessageBox(msg_shell, "msg", al, ac);}void create_appshell(display, app_name, app_argc, app_argv)	Display        *display;	char           *app_name;	int             app_argc;	char          **app_argv;{	Arg             al[64];	/* Arg List */	register int    ac = 0;	/* Arg Count */	XmString        xmstring;	XtSetArg(al[ac], XmNallowShellResize, TRUE); ac++;	XtSetArg(al[ac], XmNtitle, "Main Window"); ac++;	XtSetArg(al[ac], XmNargc, app_argc); ac++;	XtSetArg(al[ac], XmNargv, app_argv); ac++;	appshell = XtAppCreateShell(app_name, "XApplication", applicationShellWidgetClass, display, al, ac);	ac = 0;	xmstring = XmStringCreateLtoR("Message dialog will be on another\nscreen, if there is one", (XmStringCharSet) XmFONTLIST_DEFAULT_TAG);	XtSetArg(al[ac], XmNlabelString, xmstring); ac++;	label = XmCreateLabel(appshell, "label", al, ac);	ac = 0;	XmStringFree(xmstring);	XtManageChild(label);}XtAppContext    app_context;Display        *display;int main(argc, argv)	int             argc;	char          **argv;{	int             i;	int             screens;	int             default_screen;	XtSetLanguageProc((XtAppContext) NULL, (XtLanguageProc) NULL, (XtPointer) NULL);	XtToolkitInitialize();	app_context = XtCreateApplicationContext();	display = XtOpenDisplay(app_context, NULL, argv[0], "XApplication",				NULL, 0, &argc, argv);	if (!display) {		printf("%s: can't open display, exiting...\n", argv[0]);		exit(-1);	}	/*	 * Create the ApplicationShell on the default screen, and an	 * XmDialogShell with an XmMessageBox on all the other screens (if	 * any)	 */	screens = ScreenCount(display);	if (screens == 1) {		printf("%s: server only has one screen, exiting...\n", argv[0]);		exit(0);	}	default_screen = DefaultScreen(display);	create_appshell(display, argv[0], argc, argv);	for (i = 0; i < screens; i++) {		if (i != default_screen) {			printf("Creating message shell on screen %d\n", i);			create_msg_shell(appshell, i);		}	}	XtRealizeWidget(appshell);		/* NO geometry (unless you have 2 screens) */	LessTifTestMainLoop(appshell);	exit(0);}

⌨️ 快捷键说明

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