Esempio n. 1
0
/*
 * SetSystemMenu -- make the system menu showing belong to the current window
 */
void SetSystemMenu( HWND hwnd )
{
    HMENU       sys_menu;
    HMENU       menu;

    sys_menu = NULLHANDLE;
    if( hwnd != NULLHANDLE ) {
        sys_menu = generateSystemMenu( hwnd );
    }
    menu = _wpi_getmenu( mdiInfo.root );
    getMenuBitmaps();
#ifndef __OS2_PM__
    if( sys_menu != NULL ) {
        ModifyMenu( menu, 0, MF_POPUP | MF_BYPOSITION | MF_BITMAP,
                    (UINT)sys_menu, (LPVOID)closeBitmap );
    } else {
        ModifyMenu( menu, 0, MF_BYPOSITION | MF_BITMAP, -1,
                    (LPVOID)closeBitmap );
    }
#else
    if( sys_menu != NULLHANDLE ) {
        _wpi_modifymenu( menu, 0, MF_POPUP | MF_STRING, 0, 0, sys_menu, "SYSMENU", TRUE );
    } else {
        _wpi_modifymenu( menu, 0, MF_STRING, 0, 0, NULLHANDLE, "SYSMENU", TRUE );
    }
#endif
    _wpi_drawmenubar( mdiInfo.root );

} /* SetSystemMenu */
Esempio n. 2
0
static HMENU ChangeMenuToPopup ( gui_window *wnd, HMENU hmenu, gui_ctl_id id, hint_type type )
{
    HMENU               popup;
    char                name[MAX_STR];
    unsigned            menu_flags;
    unsigned            attr_flags;

    popup = _wpi_createpopupmenu();
    if( popup != (HMENU)NULL ) {
        _wpi_getmenutext( hmenu, id, name, MAX_STR - 1, FALSE );
        GetMenuFlags( hmenu, id, false, &menu_flags, &attr_flags );
        _wpi_modifymenu( hmenu, id, menu_flags | MF_POPUP, attr_flags,
                         id, popup, name, FALSE );
        GUIDrawMenuBar( wnd );
        InsertPopup( wnd, id, popup, type );
    }

    return( popup );
}