Visual Basic | |
---|---|
Function InsertMenuItem( _ ByVal ApiUuid As System.String, _ ByVal ItemType As dsMenuItemType_e, _ ByVal Position As System.Integer, _ ByVal ItemName As System.String, _ ByVal UserCmdID As System.String _ ) As MenuItem |
C# | |
---|---|
MenuItem InsertMenuItem( System.string ApiUuid, dsMenuItemType_e ItemType, System.int Position, System.string ItemName, System.string UserCmdID ) |
JavaScript | |
---|---|
InsertMenuItem( ApiUuid : String, ItemType : String, Position : Number, ItemName : String, UserCmdID : String ) : dsMenuItem |
COM native C++ | |
---|---|
HRESULT InsertMenuItem( BSTR ApiUuid, dsMenuItemType_e ItemType, LONG Position, BSTR ItemName, BSTR UserCmdID, IMenuItem** MenuItem ) |
C++ | |
---|---|
DSRESULT InsertMenuItem( const dsString& ApiUuid, dsMenuItemType_e ItemType, long Position, const dsString& ItemName, const dsString& UserCmdID, dsMenuItem** MenuItem ) |
Parameters
- ApiUuid
UUID of the add-in or non add-in application
- ItemType
- Type of menu item to insert as defined in dsMenuItemType_e
- Position
- 1-based index indicating where to insert the menu item
- ItemName
- Name of menu item
- UserCmdID
- User-defined command ID when ItemType is dsMenuItemType_e.dsMenuItemType_UserCommand
- MenuItem[out] or Return Value
- Menu item
The following code snippets show how to add a menu item to a menu:
- COM native C++ (from the DraftSight API COM native C++ template files DsAddinConnection.cpp and DsAddinUserCommand.cpp)
- C++ (from the DraftSight API C++ template file dsAddinConnection.cpp)
COM native C++
DsAddinConnection.cpp
sAddinUserCommand pNotepad(m_sApiUuid, L"Notepad", L"^C^CNotepad", L"Opens Notepad", L"path_and_file_name.bmp", L"path_and_file_name.png");
IMenuItemPtr pMenu = m_DsApp->AddMenu( m_sApiUuid, dsUIState_Document, MENU_POSITION, L"DsAddin" );
pMenu->InsertMenuItem(m_sApiUuid, dsMenuItemType_UserCommand, 1, L"Open Notepad", pNotepad.GetUserCommandID());
DsAddinUserCommand.cpp
bstr_t DsAddinUserCommand::GetUserCommandID()
{
return m_DsUserCommand->GetID();
}
C++
"path_and_file_name.bmp", L"path_and_file_name.png", dsUIState_Document, &Error, &pUserCmd );dsUserCommand_ptr pUserCmd;
dsApp->CreateUserCommand( myApplication::appID, UserCommandName, UserCmdString, Description, L
dsMenuItem_ptr pMenu;
dsApp->AddMenu(myApplication::appID, dsUIState_Document, MENU_POSITION, UserCommandName, &pMenu);
dsString UserCmdID1;
pUserCmd->GetID( &UserCmdID1 );
dsMenuItem_ptr pMenuItem;
pMenu->InsertMenuItem(myApplication::appID, dsMenuItemType_UserCommand, 1, L
"Open Notepad", UserCmdID1, &pMenu); if( ( dsCreateCommand_Succeeded == Error ) && ( NULL != pUserCmd ) ){
"QAddIn1_Toolbar";dsString ToolbarName = L
dsToolbar_ptr pToolbar;
dsApp->AddToolbar( myApplication::appID, dsUIState_Document, ToolbarName, &pToolbar );
if( NULL != pToolbar )
{
"Notepad";dsToolbarItem_ptr pToolbarItem;
dsString ButtonName = L
dsString UserCmdID;
pMenu->GetID( &UserCmdID );
pToolbar->InsertToolbarItem( myApplication::appID, dsToolBarItemType_UserCommand, 1, ButtonName, UserCmdID, &pToolbarItem );
}
}