Added Ctl.as_Control and Menu.as_Menu methods, which take a resource as
argument and return a Control or Menu object.
diff --git a/Mac/Modules/menu/Menumodule.c b/Mac/Modules/menu/Menumodule.c
index 3e16440..42490ab 100644
--- a/Mac/Modules/menu/Menumodule.c
+++ b/Mac/Modules/menu/Menumodule.c
@@ -47,6 +47,8 @@
 
 #define resNotFound -192 /* Can't include <Errors.h> because of Python's "errors.h" */
 
+#define as_Menu(h) ((MenuHandle)h)
+
 static PyObject *Menu_Error;
 
 /* ------------------------ Object type Menu ------------------------ */
@@ -1455,6 +1457,22 @@
 	return _res;
 }
 
+static PyObject *Menu_as_Menu(_self, _args)
+	PyObject *_self;
+	PyObject *_args;
+{
+	PyObject *_res = NULL;
+	MenuHandle _rv;
+	Handle h;
+	if (!PyArg_ParseTuple(_args, "O&",
+	                      ResObj_Convert, &h))
+		return NULL;
+	_rv = as_Menu(h);
+	_res = Py_BuildValue("O&",
+	                     MenuObj_New, _rv);
+	return _res;
+}
+
 static PyObject *Menu_GetMenu(_self, _args)
 	PyObject *_self;
 	PyObject *_args;
@@ -1548,6 +1566,8 @@
 	 "(EventRecord inEvent) -> (UInt32 _rv)"},
 	{"OpenDeskAcc", (PyCFunction)Menu_OpenDeskAcc, 1,
 	 "(Str255 name) -> None"},
+	{"as_Menu", (PyCFunction)Menu_as_Menu, 1,
+	 "(Handle h) -> (MenuHandle _rv)"},
 	{"GetMenu", (PyCFunction)Menu_GetMenu, 1,
 	 "(short resourceID) -> (MenuHandle _rv)"},
 	{"DeleteMenu", (PyCFunction)Menu_DeleteMenu, 1,