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

📄 list_17_29_a.c

📁 This source code has been tested under OpenWindows 2.0, Sun s X11/NeWS server. For Xlib programs th
💻 C
字号:
/*************************************************************************                                                                    ****  listing_17_29_A.c                                                 ****                                                                    ****  Selection example, advertiser. This program acquires ownership    ****  of the selection "MyOwnSelection" when its button is pushed. It   ****  also responds to client message events with a data type of        ****  "WINDOW" (XA_WINDOW), by displaying the passed window ID.         ****                                                                    *************************************************************************/#include <Xm/PushB.h>#include <X11/Xatom.h>void	ButtonCB();			/* FORWARD Definitions	      */void	ClientEvt();Widget	appshell,	the_btn;Atom	a_sel_name;void main( argc, argv )    int     argc;    char    *argv[];{    appshell = XtInitialize( argv[0], "Listing_17_29", NULL, 0, &argc, argv );    a_sel_name = XmInternAtom( XtDisplay(appshell),                                "_KDG_PRIVATE_SELECTION", FALSE );    the_btn = XmCreatePushButton( appshell, "TheBtn", NULL, 0 );    XtManageChild( the_btn );    XtAddCallback( the_btn, XmNactivateCallback, ButtonCB, NULL );    XtAddEventHandler( the_btn, 0, TRUE, ClientEvt, NULL );    XtRealizeWidget( appshell );    XtMainLoop();}void ButtonCB( w, client_data, call_data )    Widget		w;    caddr_t		client_data;    XmAnyCallbackStruct	*call_data;{    XSetSelectionOwner( XtDisplay(w), a_sel_name, XtWindow(w),                         call_data->event->xbutton.time );}void ClientEvt( w, client_data, event )    Widget		w;    caddr_t		client_data;    XClientMessageEvent	*event;{    char		lcl_str[32];    XmString		xms;    Arg			the_arg;    if ((event->type != ClientMessage) || (event->message_type != XA_WINDOW))        return;    sprintf( lcl_str, "%d", event->data.l[0] );    xms = XmStringCreate( lcl_str, XmSTRING_DEFAULT_CHARSET );    XtSetArg( the_arg, XmNlabelString, xms );    XtSetValues( w, &the_arg, 1 );    XmStringFree( xms );}

⌨️ 快捷键说明

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