Hide Table of Contents
CreateUserCommand Method (IApplication)
UiState[out]
User command

Creates a command for a menu item and toolbar.

.NET Syntax

Visual Basic (Declaration) 
Function CreateUserCommand( _
   const dsString& ApiUuid As System.String, _
   const dsString& UserCmdName As System.String, _
   const dsString& CmdString As System.String, _
   const dsString& Description As System.String, _
   const dsString& SmallIcon As System.String, _
   const dsString& LargeIcon As System.String, _
    UIState As dsUIState_e, _
   dsCreateCommandError_e* Error As dsCreateCommandError_e _
) As UserCommand
C# 
UserCommand CreateUserCommand( 
   System.string ApiUuid,
   System.string UserCmdName,
   System.string CmdString,
   System.string Description,
   System.string SmallIcon,
   System.string LargeIcon,
   dsUIState_e UIState,
   out dsCreateCommandError_e Error
)
JavaScript 
CreateUserCommand( 
   ApiUuid : String,
   UserCmdName : String,
   CmdString : String,
   Description : String,
   SmallIcon : String,
   LargeIcon : String,
   UIState : dsUIState_e
) : {
   Error : String,
   UiState : dsUserCommand
}
COM native C++ 
HRESULT CreateUserCommand( 
   BSTR ApiUuid,
   BSTR UserCmdName,
   BSTR CmdString,
   BSTR Description,
   BSTR SmallIcon,
   BSTR LargeIcon,
    UIState,
   dsCreateCommandError_e* Error,
   dsUIState_e UiState
) 
C++ 
DSRESULT CreateUserCommand( 
   const dsString& ApiUuid,
   const dsString& UserCmdName,
   const dsString& CmdString,
   const dsString& Description,
   const dsString& SmallIcon,
   const dsString& LargeIcon,
    UIState,
   dsCreateCommandError_e* Error,
   dsUIState_e UiState
) 

Parameters

ApiUuid

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

UserCmdName

Command name for the menu item or the toolbar button's ToolTip (see Remarks)

CmdString

Command string (see Remarks

Description

Description of the command

SmallIcon
Path image's file name for the command's small icon (see Remarks)
LargeIcon
Path and image's file name for the command's large icon (see Remarks)
UIState

Where to add the user command as defined in dsUIState_e

Error[out]

Status of creating the command as defined in dsCreateCommandError_e

UiState[out] or Return Value
User command

Example

The following code snippets show how to create a command for a menu item and toolbar:

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

Example

Remarks

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

Specify the same string for UserCmdName as specified for IApplication::CreateCommand's CmdName parameter; e.g.; apiCmd.

The string to specify for CmdString is the same string specified for UserCmdName prefaced by ^C^C; e.g., ^C^CapiCmd.

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.

The recommended size for:

  • SmallIcon is 16 x 16 
  • LargeIcon is 24 x 24.

The supported format for both images is .png (Portable Network Graphics bitmap image).

 

See Also

Availability

DraftSight V1R1


Provide feedback on this topic

SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

* Required

 
*Email:  
Subject:   Feedback on Help Topics
Page:   CreateUserCommand Method (IApplication)
*Comment:  
*   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

Print Topic

Select the scope of content to print:

x

We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

 Never show this message again
x

Web Help Content Version: API Help (English only) 2019 SP05

To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.