CreateCommand Method (IApplication) Send Feedback
See Also 
Cmd[out]
Command
ApiUuid

UUID of the add-in or non add-in application

CmdName
Unique name for the command (see Remarks)
Error[out]
Status of creating the command as defined in dsCreateCommandError_e
Obsolete. Superseded by IApplication::CreateCommand2.

Syntax

Visual Basic 
Function CreateCommand( _
   ByVal ApiUuid As System.String, _
   ByVal CmdName As System.String, _
   ByRef Error As dsCreateCommandError_e _
) As Command
C# 
Command CreateCommand( 
   System.string ApiUuid,
   System.string CmdName,
   out dsCreateCommandError_e Error
)
JavaScript 
CreateCommand( 
   ApiUuid : String,
   CmdName : String
) : {
   Error : String,
   Cmd : dsCommand
}
COM native C++ 
HRESULT CreateCommand( 
   BSTR ApiUuid,
   BSTR CmdName,
   dsCreateCommandError_e* Error,
   ICommand** Cmd
) 
C++ 
DSRESULT CreateCommand( 
   const dsString& ApiUuid,
   const dsString& CmdName,
   dsCreateCommandError_e* Error,
   dsCommand** Cmd
) 

Parameters

ApiUuid

UUID of the add-in or non add-in application

CmdName
Unique name for the command (see Remarks)
Error[out]
Status of creating the command as defined in dsCreateCommandError_e
Cmd[out] or Return Value
Command

Example

The following code snippets show how to add a command for the command window:

COM native C++

DsAddinConnection.cpp   
    DsAddinUserCommand pNotepad(m_sApiUuid, L"Notepad", L"^C^CNotepad", L"Opens Notepad", L"path_and_file_name.bmp", L"path_and_file_name.png");
  

DsAddinUserCommand.cpp 

DsAddinUserCommand::DsAddinUserCommand( _bstr_t ApiUuid, _bstr_t UserCmdName, _bstr_t CmdString, _bstr_t Description, _bstr_t SmallIcon, _bstr_t LargeIcon )

{

     CDsAddinConnection *dsConnection = getMyApp(); 

     dsCreateCommandError_e commandErr;

     // User command dependent on pre-defined command

     ICommand* pCommand = dsConnection->m_DsApp->CreateCommand( ApiUuid, UserCmdName, &commandErr );

     m_DsUserCommand = dsConnection->m_DsApp->CreateUserCommand( ApiUuid, UserCmdName, CmdString, Description, SmallIcon, LargeIcon, &commandErr ); 

     DsAddinCommand *dsAddCom = new DsAddinCommand(pCommand); 

}

 

C++ 

bool myApplication::CreateUserInterfaceAndCommands()

{

dsString emptyStr = L"";

dsString UserCommandName = L"qAddin1_Notepad";

dsString Description = L"Opens Notepad";

dsString UserCmdString = L"^C^CqAddin1_Notepad";

 

const int MENU_POSITION = 9; //Menu should be between "Modify" and "Tools" menus

 

dsApplication_c *dsApp = getDsApp();

dsCreateCommandError_e Error;

 

// User command dependent on pre-defined command

dsApp->CreateCommand(myApplication::appID, UserCommandName, &Error, &pCmd );

if(( Error == 0 ) )

{

RegisterCommandExecuteNotifyHook( pCmd );

dsUserCommand_ptr pUserCmd;

dsApp->CreateUserCommand( myApplication::appID, UserCommandName, UserCmdString, Description, L"path_and_file_name.bmp", L"path_and_file_name.png", dsUIState_Document, &Error, &pUserCmd ); 

Back to top

Remarks

If CmdName already exists, then dsCreateCommand_e.dsCreateCommandError_CommandNameExisted is returned for Error.

Use the string specified for CmdName for IApplication::CreateUserCommand's UserCmdName parameter; e.g.; apiCmd.

To see a list of existing commands:

  1. Right-click a toolbar in the user interface.
  2. Select Customize Interface.
  3. Click Commands on the left side of the dialog.
  4. Use the scroll bar to see the list of existing commands.
  5. To quickly locate a command that you've added:
    1. Type the name of the command in Find.
    2. Click the name of the command in the Name column.
    3. Examine the information at the bottom of the dialog.
 

See Also

Availability

DraftSight V1R1