Alan,

Wonderful explanation. This helped immensely.
Of course, it opened up more questions <g>...

My first confusion is with the MenuHandle numbers. Since we grab a
MenuHandle of 130, and then delete that id, we can never reclaim it within
the current script, so we reinsert it as id+1, as below (which deletes the
original edit menu and puts it back):

>  my $oldEdit = GetMenuHandle(130);
>  InsertMenu($oldEdit,   131);

More id confusion. If we create these new menus with specific id's, how
come we don't use the same id's to insert them into the menubar?

>  my $newFile = MacMenu->new ( 2049, 'File', ( ... ) )
>  my $newEdit = MacMenu->new ( 2048, 'Edit', ( ... ) )
>
>  InsertMenu $newEdit, 131;
>  InsertMenu $newFile, 2048;

And how come the "Windows" menu doesn't nicely show up in the looping code
you sent? The modified my-code that you responded with worked nicely,
except that it  still showed the "Windows" menu, which shouldn't be there
(neither should the Help menu, but hey, at least I can see that in the
list).

Finally, when I quit out of the script, I get back into the MacPerl window,
with the menu's all screwy - with "Windows" first, and then File, Edit,
etc. after that. This happens in other cases - my "Editor" menu is replaced
with "BBEdit" and that becomes the first menu entry when I quit the
modified my-code you sent with your last email.

And how major is this, ie. how "proper" is it to replace MacPerl's menu
when I'll be using MacPerl::Quit(2) to quit out of the script entirely when
it dies? Do I need to worry about the restore_menu_bar routine if the old
menu's will show up for a fraction of a second before the Finder menu's
take over?

Wonderful help, this list is (now I get to start playing around with the
GUI stuff that you helped me with a few weeks ago).



-- 
Morbus Iff

             Here we have MorbusBird - Able to fly across all boundaries,
    ^         migrate his way unfailingly into every inbox and browser
  /( )\      across the land, with the freedom to (anywhere he wants to!)
   /.\      drop his shat... Devil Shat:<http://www.disobey.com/devilshat/>

-06--- <\/> ---- <http://www.disobey.com/> --- Bad Ascii, Short Notice ----

Reply via email to