本文整理汇总了C++中IApplication::AddCommand方法的典型用法代码示例。如果您正苦于以下问题:C++ IApplication::AddCommand方法的具体用法?C++ IApplication::AddCommand怎么用?C++ IApplication::AddCommand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IApplication
的用法示例。
在下文中一共展示了IApplication::AddCommand方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnConnection
// This is called when the user first loads the add-in, and on start-up
// of each subsequent Developer Studio session
STDMETHODIMP CDSAddIn::OnConnection(IApplication* pApp, VARIANT_BOOL bFirstTime,
long dwCookie, VARIANT_BOOL* OnConnection)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// Store info passed to us
IApplication* pApplication = NULL;
if (FAILED(pApp->QueryInterface(IID_IApplication, (void**) &pApplication))
|| pApplication == NULL)
{
*OnConnection = VARIANT_FALSE;
return S_OK;
}
m_dwCookie = dwCookie;
// Create command dispatch, send info back to DevStudio
CCommandsObj::CreateInstance(&m_pCommands);
m_pCommands->AddRef();
// The QueryInterface above AddRef'd the Application object. It will
// be Release'd in CCommand's destructor.
m_pCommands->SetApplicationObject(pApplication);
// (see stdafx.h for the definition of VERIFY_OK)
VERIFY_OK(pApplication->SetAddInInfo((long) AfxGetInstanceHandle(),
(LPDISPATCH) m_pCommands, IDR_TOOLBAR_MEDIUM, IDR_TOOLBAR_LARGE, m_dwCookie));
// Inform DevStudio of the commands we implement
// TODO: Replace the AddCommand call below with a series of calls,
// one for each command your add-in will add.
// The command name should not be localized to other languages. The
// tooltip, command description, and other strings related to this
// command are stored in the string table (IDS_CMD_STRING) and should
// be localized.
LPCTSTR szCommand = _T("ShowGroupsAddinCommand");
VARIANT_BOOL bRet;
CString strCmdString;
strCmdString.LoadString(IDS_CMD_STRING);
strCmdString = szCommand + strCmdString;
CComBSTR bszCmdString(strCmdString);
CComBSTR bszMethod(_T("ShowGroupsAddinCommandMethod"));
CComBSTR bszCmdName(szCommand);
VERIFY_OK(pApplication->AddCommand(bszCmdString, bszMethod, 0, m_dwCookie, &bRet));
if (bRet == VARIANT_FALSE)
{
// AddCommand failed because a command with this name already
// exists. You may try adding your command under a different name.
// Or, you can fail to load as we will do here.
*OnConnection = VARIANT_FALSE;
return S_OK;
}
// Add toolbar buttons only if this is the first time the add-in
// is being loaded. Toolbar buttons are automatically remembered
// by Developer Studio from session to session, so we should only
// add the toolbar buttons once.
if (bFirstTime == VARIANT_TRUE)
{
VERIFY_OK(pApplication->
AddCommandBarButton(dsGlyph, bszCmdName, m_dwCookie));
}
// Create the WWhizInterface.
g_wwhizInterface = WWhizInterface2Create(AfxGetInstanceHandle(), pApplication);
*OnConnection = VARIANT_TRUE;
return S_OK;
}
示例2: OnConnection
// Dieser Code wird beim ersten Laden des Add-Ins und beim Starten der Anwendung aufgerufen
// jeder nachfolgenden Developer Studio-Sitzung
STDMETHODIMP CDSAddIn::OnConnection(IApplication* pApp, VARIANT_BOOL bFirstTime,
long dwCookie, VARIANT_BOOL* OnConnection)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// An uns übergebene Info speichern
IApplication* pApplication = NULL;
if (FAILED(pApp->QueryInterface(IID_IApplication, (void**) &pApplication))
|| pApplication == NULL)
{
*OnConnection = VARIANT_FALSE;
return S_OK;
}
m_dwCookie = dwCookie;
// Befehlsverteilung erzeugen, Rückmeldung an DevStudio
CCommandsObj::CreateInstance(&m_pCommands);
m_pCommands->AddRef();
// Das obige QueryInterface hat AddRef auf das Objekt Application angewendet. Es
// wird im Destruktor von CCommand freigegeben.
m_pCommands->SetApplicationObject(pApplication);
// (siehe Definition von VERIFY_OK in stdafx.h)
VERIFY_OK(pApplication->SetAddInInfo((long) AfxGetInstanceHandle(),
(LPDISPATCH) m_pCommands, IDR_TOOLBAR_MEDIUM, IDR_TOOLBAR_LARGE, m_dwCookie));
// DevStudio über die implementierten Befehle informieren
VARIANT_BOOL bRet;
CString strCmdString;
LPCTSTR szNewQtProject = _T("New Qt Project");
strCmdString.LoadString(IDS_NEWQTPROJECT_STRING);
VERIFY_OK(pApplication->AddCommand(CComBSTR(szNewQtProject + strCmdString), CComBSTR(_T("QMsDevNewQtProject")), 0, m_dwCookie, &bRet));
#if 1
LPCTSTR szGenerateQtProject = _T("Generate Qt Project");
strCmdString.LoadString(IDS_GENERATEQTPROJECT_STRING);
VERIFY_OK(pApplication->AddCommand(CComBSTR(szGenerateQtProject + strCmdString), CComBSTR(_T("QMsDevGenerateQtProject")), 1, m_dwCookie, &bRet));
#endif
LPCTSTR szNewQtDialog = _T("New Qt Dialog");
strCmdString.LoadString(IDS_NEWQTDIALOG_STRING);
VERIFY_OK(pApplication->AddCommand(CComBSTR(szNewQtDialog + strCmdString), CComBSTR(_T("QMsDevNewQtDialog")), 2, m_dwCookie, &bRet));
LPCTSTR szOpenDesigner = _T("Open Qt GUI Designer");
strCmdString.LoadString(IDS_OPENDESIGNER_STRING);
VERIFY_OK(pApplication->AddCommand(CComBSTR(szOpenDesigner + strCmdString), CComBSTR(_T("QMsDevStartDesigner")), 3, m_dwCookie, &bRet));
LPCTSTR szUseQt = _T("Use Qt");
strCmdString.LoadString(IDS_USEQT_STRING);
VERIFY_OK(pApplication->AddCommand(CComBSTR(szUseQt + strCmdString), CComBSTR(_T("QMsDevUseQt")), 4, m_dwCookie, &bRet));
LPCTSTR szAddMOCStep = _T("Add MOC step");
strCmdString.LoadString(IDS_ADDMOCSTEP_STRING);
VERIFY_OK(pApplication->AddCommand(CComBSTR(szAddMOCStep + strCmdString), CComBSTR(_T("QMsDevAddMOCStep")), 5, m_dwCookie, &bRet));
LPCTSTR szAddUICStep = _T("Add UIC step");
strCmdString.LoadString(IDS_ADDUICSTEP_STRING);
VERIFY_OK(pApplication->AddCommand(CComBSTR(szAddUICStep + strCmdString), CComBSTR(_T("QMsDevAddUICStep")), 6, m_dwCookie, &bRet));
if (bRet == VARIANT_FALSE)
{
*OnConnection = VARIANT_FALSE;
return S_OK;
}
if (bFirstTime == VARIANT_TRUE)
{
VERIFY_OK(pApplication->
AddCommandBarButton(dsGlyph, CComBSTR(szNewQtProject), m_dwCookie));
#if 1
VERIFY_OK(pApplication->
AddCommandBarButton(dsGlyph, CComBSTR(szGenerateQtProject), m_dwCookie));
#endif
VERIFY_OK(pApplication->
AddCommandBarButton(dsGlyph, CComBSTR(szNewQtDialog), m_dwCookie));
VERIFY_OK(pApplication->
AddCommandBarButton(dsGlyph, CComBSTR(szOpenDesigner), m_dwCookie));
VERIFY_OK(pApplication->
AddCommandBarButton(dsGlyph, CComBSTR(szUseQt), m_dwCookie));
VERIFY_OK(pApplication->
AddCommandBarButton(dsGlyph, CComBSTR(szAddMOCStep), m_dwCookie));
VERIFY_OK(pApplication->
AddCommandBarButton(dsGlyph, CComBSTR(szAddUICStep), m_dwCookie));
}
*OnConnection = VARIANT_TRUE;
return S_OK;
}