// @pymethod int|PyIShellView|TranslateAccelerator|Description of TranslateAccelerator. PyObject *PyIShellView::TranslateAccelerator(PyObject *self, PyObject *args) { IShellView *pISV = GetI(self); if ( pISV == NULL ) return NULL; MSG msg; PyObject *obpmsg; // @pyparm tuple|pmsg||Description for pmsg if ( !PyArg_ParseTuple(args, "O:TranslateAccelerator", &obpmsg) ) return NULL; BOOL bPythonIsHappy = TRUE; if (bPythonIsHappy && !PyObject_AsMSG( obpmsg, &msg )) bPythonIsHappy = FALSE; if (!bPythonIsHappy) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pISV->TranslateAccelerator( &msg ); PY_INTERFACE_POSTCALL; if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pISV, IID_IShellView ); // @rdesc The result is the HRESULT from the underlying TranslateAccelerator call return PyInt_FromLong(hr); }
// @pymethod |PyIShellBrowser|TranslateAcceleratorSB|Translates keystrokes used as menu item activators PyObject *PyIShellBrowser::TranslateAcceleratorSB(PyObject *self, PyObject *args) { IShellBrowser *pISB = GetI(self); if ( pISB == NULL ) return NULL; MSG msg; PyObject *obpmsg; WORD wID; if (!PyArg_ParseTuple(args, "OH:TranslateAcceleratorSB", &obpmsg, // @pyparm <o PyMSG>|pmsg||Keystroke message to be translated &wID)) // @pyparm int|wID||Menu command id for the keystroke return NULL; if (!PyObject_AsMSG(obpmsg, &msg)) return NULL; HRESULT hr; PY_INTERFACE_PRECALL; hr = pISB->TranslateAcceleratorSB( &msg, wID ); PY_INTERFACE_POSTCALL; if ( FAILED(hr) ) return PyCom_BuildPyException(hr, pISB, IID_IShellBrowser ); Py_INCREF(Py_None); return Py_None; }