void WEXPORT WPopupMenu::track( WWindow *owner ) { /************************************************/ gui_point p; GUIGetMousePosn( owner->handle(), &p ); setFloatingPopup( TRUE ); attachChildren( owner ); GUITrackFloatingPopup( owner->handle(), &p, GUI_TRACK_BOTH, NULL ); setFloatingPopup( FALSE ); }
bool GUIXCreateFloatingPopup( gui_window *wnd, gui_point *location, int num, gui_menu_struct *menu, gui_mouse_track track, gui_ctl_id *curr_id ) { if( GUIHFloatingPopup != NULLHANDLE ) { _wpi_destroymenu( GUIHFloatingPopup ); GUIHFloatingPopup = NULLHANDLE; } GUIHFloatingPopup = GUICreateSubMenu( wnd, num, menu, FLOAT_HINT ); if( GUIHFloatingPopup == NULLHANDLE ) { GUIError( LIT( Open_Failed ) ); return( false ); } return( GUITrackFloatingPopup( wnd, location, track, curr_id ) ); }