📄 listing_12_7.c
字号:
/************************************************************************* **** 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -