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

📄 list_17_29_b.c

📁 This source code has been tested under OpenWindows 2.0, Sun s X11/NeWS server. For Xlib programs th
💻 C
字号:
/*************************************************************************                                                                    ****  listing_17_29_B.c                                                 ****                                                                    ****  Selection example, responder. This program requests the owner of  ****  the selection "MyOwnSelection" when its button is pushed. It      ****  displays the window ID of the selection owner, then sends its     ****  window ID in a client message.                                    ****                                                                    *************************************************************************/#include <Xm/PushB.h>#include <X11/Xatom.h>void	ButtonCB();			/* FORWARD Definitions	      */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 );    XtRealizeWidget( appshell );    XtMainLoop();}void ButtonCB( w, client_data, call_data )    Widget		w;    caddr_t		client_data;    XmAnyCallbackStruct	*call_data;{    char		lcl_str[32];    XmString		xms;    Arg			the_arg;    Window		owner;    XClientMessageEvent evt;    owner = XGetSelectionOwner( XtDisplay(w), a_sel_name );    if (owner == None)        {        printf( "17_29_B: No owner yet\n" );        return;        }    sprintf( lcl_str, "%d", owner );    xms = XmStringCreate( lcl_str, XmSTRING_DEFAULT_CHARSET );    XtSetArg( the_arg, XmNlabelString, xms );    XtSetValues( w, &the_arg, 1 );    XmStringFree( xms );    evt.type         = ClientMessage;    evt.display      = XtDisplay(w);    evt.window       = owner;    evt.message_type = XA_WINDOW;    evt.format       = 32;    evt.data.l[0]    = XtWindow(w);    XSendEvent( XtDisplay(w), owner, TRUE, 0, &evt );}

⌨️ 快捷键说明

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