GetSelectedObjectCount Method (ISelectionManager)

GetSelectedObjectCount Method (ISelectionManager) | Send Feedback
See Also Example

SelCount[out]
  Number of selected entities

SSType
  Type of selection as defined in dsSelectionSetType_e

Gets the number of selected entities in the current selection set.

# Syntax

Visual Basic |
--- | ---
    Function GetSelectedObjectCount( _
       ByVal SSType As dsSelectionSetType_e _
    ) As System.Integer

C# |
--- | ---
    System.int GetSelectedObjectCount(
       dsSelectionSetType_e SSType
    )

JavaScript |
--- | ---
    GetSelectedObjectCount(
       SSType : String
    ) : Number

COM native C++ |
--- | ---
    HRESULT GetSelectedObjectCount(
       dsSelectionSetType_e SSType,
       LONG* SelCount
    )

C++ |
--- | ---
    DSRESULT GetSelectedObjectCount(
       dsSelectionSetType_e SSType,
       long* SelCount
    )

#### Parameters

SSType
  Type of selection as defined in dsSelectionSetType_e
SelCount[out] or Return Value
  Number of selected entities

# Example

This code snippet shows how to write the names, captions, and values of the selected objects to a file.

#### COM native C++

long selCount = dsSelManager->GetSelectedObjectCount( dsSelectionSetType_Current );
strPrint.Format( L"Selected objects: (%d):\r\n", selCount );
fileOutput.WriteString( strPrint );

if( selCount > 0 )
{
for( long i = 0; i < selCount; ++i )
{
//Get selected object type
dsObjectType_e retObjType;
IDispatchPtr selObj = dsSelManager->GetSelectedObject( dsSelectionSetType_Current, i, &retObjType );

//If selected object is Block instance
if( dsBlockInstanceType == retObjType )
{
IBlockInstancePtr blkIns( selObj );
//Get Block definition name and write it to output file
bstr_t blockName = blkIns->GetBlockDefinition()->GetName();
strPrint.Format( L"Instance of (%s) block definition\r\n", blockName.operator const wchar_t*() );
fileOutput.WriteString( strPrint );
}
else
//If selected object is BlockAttribute definition
if( dsAttributeDefinitionType == retObjType )
{
IAttributeDefinitionPtr AttDefs( selObj );

//Get BlockAttribute definition name
bstr_t AttDefName = AttDefs->GetName();

strPrint.Format( L"Attribute definition (%s) \r\n", AttDefName.operator const wchar_t*() );
fileOutput.WriteString( strPrint );

//Get BlockAttribute definition caption
bstr_t AttDefCaption = AttDefs->GetCaption();

strPrint.Format( L"\tCaption: %s\r\n", AttDefCaption.operator const wchar_t*() );
fileOutput.WriteString( strPrint );

strPrint.Format( L"\tName: %s\r\n", AttDefName.operator const wchar_t*() );
fileOutput.WriteString( strPrint );
//Get BlockAttribute definition value
bstr_t AttDefValue = AttDefs->GetValue();

strPrint.Format( L"\tValue: %s\r\n", AttDefValue.operator const wchar_t*() );
fileOutput.WriteString( strPrint );
}

# Example

Rotate and Copy Entities (C#)
Rotate and Copy Entities (VB.NET)
Rotate and Copy Entities (VBA)
Insert Hatch (JavaScript)

# Remarks

You can also use this method to determine if a valid selection was made.

# See Also

####

ISelectionManager Interface
ISelectionManager Members
ISelectionManager::GetSelectedObject Method
ISelectionManager::GetSelectedObjects Method ()

# Availability

DraftSight V1R1