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

📄 listing_8_09.c

📁 This source code has been tested under OpenWindows 2.0, Sun s X11/NeWS server. For Xlib programs th
💻 C
字号:
/*************************************************************************                                                                    ****  listing_8_9.c                                                     ****                                                                    ****  "Mouse Tracker". This program demonstrates the use of an event    ****  handler.                                                          ****                                                                    *************************************************************************/#include <Xm/Label.h>void	EvtHandler();			/* FORWARD definition	     */Widget	appshell,			/* The label and its shell   */	the_label;void main( argc, argv )    int     argc;    char    *argv[];{    appshell = XtInitialize( argv[0], "Listing_8_09", NULL, 0, &argc, argv );    the_label = XmCreateLabel( appshell, "TheLabel", NULL, 0 );    XtManageChild( the_label );    XtAddEventHandler( the_label,                        PointerMotionMask | ButtonPressMask |		       EnterWindowMask | LeaveWindowMask,		       FALSE, EvtHandler, NULL );    XtRealizeWidget( appshell );    XtMainLoop();}void EvtHandler( w, client_data, evt_ptr )    Widget      w;    caddr_t     client_data;    XEvent      *evt_ptr;{    switch( evt_ptr->type )        {	case ButtonPress:	    printf( "\nButtonPress\n" );	    printf( "    Time     = %d\n", evt_ptr->xbutton.time );	    printf( "    x,y      = %d, %d\n", evt_ptr->xbutton.x, 					       evt_ptr->xbutton.y );	    printf( "    Button   = %d\n", evt_ptr->xbutton.button );	    break;	case EnterNotify:	    printf( "\nEnterNotify\n" );	    printf( "    Time     = %d\n", evt_ptr->xcrossing.time );	    printf( "    x,y      = %d, %d\n", evt_ptr->xcrossing.x, 					       evt_ptr->xcrossing.y );	    break;	case LeaveNotify:	    printf( "\nLeaveNotify\n" );	    printf( "    Time     = %d\n", evt_ptr->xcrossing.time );	    printf( "    x,y      = %d, %d\n", evt_ptr->xcrossing.x, 					       evt_ptr->xcrossing.y );	    break;	case MotionNotify:	    printf( "\nMotionNotify\n" );	    printf( "    Time     = %d\n", evt_ptr->xmotion.time );	    printf( "    x,y      = %d, %d\n", evt_ptr->xmotion.x, 					       evt_ptr->xmotion.y );	    break;	default:	    break;        }}

⌨️ 快捷键说明

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