listing_12_7.c

来自「This source code has been tested under O」· C语言 代码 · 共 94 行

C
94
字号
/*************************************************************************                                                                    ****  listing_12_7.c                                                    ****                                                                    ****  Demonstration of pop-up menus.                                    ****                                                                    *************************************************************************/#include <Xm/BulletinB.h>#include <Xm/RowColumn.h>#include <Xm/Label.h>#include <Xm/PushB.h>#include <Xm/Separator.h>void	InitPopup();			/* FORWARD Definitions	      */void	PopPopup();Widget	appshell,			/* Application Shell	      */	the_bb,				/* The work area    */        popup,				/* The pop-up menu pane	      */        pop_lbl,			/* The pop-up's title  	      */        pop_sep,			/* Seps title from choices    */        pop_btn[6];                  	/* Choices on the pop-up      */void main( argc, argv )    int     argc;    char    *argv[];{    appshell = XtInitialize( argv[0], "Listing_12_7", NULL, 0, &argc, argv );    the_bb = XmCreateBulletinBoard( appshell, "TheBB", NULL, 0 );    XtManageChild( the_bb );    XtAddEventHandler( the_bb, ButtonPressMask, FALSE, PopPopup, NULL );    InitPopup();    XtRealizeWidget( appshell );    XtMainLoop();}/*************************************************************************                                                                    ****  InitPopup()                                                       ****                                                                    ****  Creates the pop-up menu pane and its children.                    ****                                                                    *************************************************************************/void	InitPopup(){    popup = XmCreatePopupMenu( the_bb, "Popup", NULL, 0 );    pop_lbl = XmCreateLabel( popup, "Pop_Title", NULL, 0 );    XtManageChild( pop_lbl );    pop_sep = XmCreateSeparator( popup, "Pop_Sep", NULL, 0 );    XtManageChild( pop_sep );    pop_btn[0] = XmCreatePushButton( popup, "Pop_Black", NULL, 0 );    pop_btn[1] = XmCreatePushButton( popup, "Pop_Gray",  NULL, 0 );    pop_btn[2] = XmCreatePushButton( popup, "Pop_White", NULL, 0 );    pop_btn[3] = XmCreatePushButton( popup, "Pop_Red",   NULL, 0 );    pop_btn[4] = XmCreatePushButton( popup, "Pop_Green", NULL, 0 );    pop_btn[5] = XmCreatePushButton( popup, "Pop_Blue",  NULL, 0 );    XtManageChildren( pop_btn, 6 );}/*************************************************************************                                                                    ****  PopPopup( w, client_data, event )                                 ****                                                                    ****  Button event handler. Manages popup on button #3.                 ****                                                                    *************************************************************************/void	PopPopup( w, client_data, event )    Widget	    w;    caddr_t	    client_data;    XButtonEvent    *event;{    if (event->button != Button3)	return;    XmMenuPosition( popup, event );    XtManageChild( popup );}

⌨️ 快捷键说明

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