Menus Handle the menu
Programming guideline of WinDom

Declare the menu

Window menu:

A window menu is attributed to a window using the WindSet() function (as AES philosophy). First of all, create the window with the WindCreate() function and get the menu address. Then use the WindSet() function with WF_MENU option.

Here a typical example :

    {
        OBJECT *menu;
        WINDOW *win;

        win = WindCreate( NAME|MOVER|CLOSER, app.x, app.y, app.w, app.h);
        rsrc_gaddr( 0, MENU1, &tree);
        WindSet( win, WF_MENU, tree, NULL);
        WindOpen( win, -1, -1, 400, 200);
    }

A menu can be removed by the call :

        WindSet( win, WF_MENU, NULL);
All menus attributed to a window are duplicated in memory ( WindSet() uses the ObjcDup() function).

Desktop menu

The desktop menu is declared with the function MenuBar(). A typical example is :

    main() {
        OBJECT *menu;

        ApplInit();
        RsrcLoad( "resource.rsc");
        rsrc_gaddr( 0, MYMENU, &menu);
        MenuBar( menu, 1);

        ...
    }