Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
draftsight / opt / dassault-systemes / DraftSight / APISDK / Create_Context-sensitive_Menu_Items_Example_VBNET.htm
Size: Mime:
<html>

<head>
<title>Create Context-sensitive Menu Items Example (VB.NET)</title>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel="stylesheet" type="text/css" href="ApiHelp.css">
<meta name=MS-HKWD content="VB.NET examples">
<meta name=MS-HKWD content="VB.NET examples,context-sensitive menu items">

</head>


<body>
<h1>Create Context-sensitive Menu Items Example (VB.NET)</h1>
<p>This example shows how to create default, command, and object 
context-sensitive menu items.</p>
<pre style="font-family: Consolas; font-size: 13; color: black; background: white"><span style="color:green;">'--------------------------------------------------------------</span>
<span style="color:green;">'&nbsp;Preconditions:</span>
<span style="color:green;">'&nbsp;1.&nbsp;Create&nbsp;a&nbsp;VB.NET&nbsp;Windows&nbsp;console&nbsp;project.</span>
<span style="color:green;">'&nbsp;2.&nbsp;Copy&nbsp;and&nbsp;paste&nbsp;this&nbsp;code&nbsp;into&nbsp;the&nbsp;VB.NET&nbsp;project.</span>
<span style="color:green;">'&nbsp;3.&nbsp;Add&nbsp;a&nbsp;reference&nbsp;to</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;<i>install_dir</i>\<b>APISDK\tlb\DraftSight.Interop.dsAutomation.dll</b>.</span>
<span style="color:green;">'&nbsp;4.&nbsp;Add&nbsp;a&nbsp;reference&nbsp;to&nbsp;<b>System.Windows.Forms</b>.</span>
<span style="color:green;">'&nbsp;5.&nbsp;Start&nbsp;DraftSight.</span>
<span style="color:green;">'&nbsp;6.&nbsp;Press&nbsp;F5.</span>
<span style="color:green;">'</span>
<span style="color:green;">'&nbsp;Postconditions:&nbsp;</span>
<span style="color:green;">'&nbsp;1.&nbsp;Connects&nbsp;to&nbsp;DraftSight.</span>
<span style="color:green;">'&nbsp;2.&nbsp;Gets&nbsp;the&nbsp;active&nbsp;document.</span>
<span style="color:green;">'&nbsp;3.&nbsp;Creates&nbsp;three&nbsp;user&nbsp;commands.</span>
<span style="color:green;">'&nbsp;4.&nbsp;Adds&nbsp;a&nbsp;default&nbsp;context-sensitive&nbsp;menu&nbsp;item&nbsp;for&nbsp;the&nbsp;first&nbsp;user&nbsp;command.</span>
<span style="color:green;">'&nbsp;5.&nbsp;Adds&nbsp;a&nbsp;command&nbsp;context-sensitive&nbsp;menu&nbsp;item&nbsp;for&nbsp;the&nbsp;second&nbsp;user&nbsp;command.</span>
<span style="color:green;">'&nbsp;6.&nbsp;Adds&nbsp;an&nbsp;object&nbsp;context-sensitive&nbsp;menu&nbsp;item&nbsp;for&nbsp;the third&nbsp;user&nbsp;command.</span>
<span style="color:green;">'&nbsp;7.&nbsp;Displays&nbsp;a&nbsp;message&nbsp;box&nbsp;informing&nbsp;you&nbsp;to&nbsp;perform&nbsp;steps&nbsp;7a&nbsp;-&nbsp;7f.&nbsp;Click&nbsp;<b>OK</b></span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;close&nbsp;the&nbsp;message&nbsp;box&nbsp;before&nbsp;performing&nbsp;these&nbsp;steps.</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;a.&nbsp;Right-click&nbsp;anywhere&nbsp;in&nbsp;the&nbsp;the&nbsp;graphics&nbsp;area&nbsp;and&nbsp;</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select&nbsp;<b>Execute&nbsp;line&nbsp;command</b>&nbsp;in&nbsp;the&nbsp;context-sensitive&nbsp;menu.</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;crosshair&nbsp;pointer&nbsp;is&nbsp;displayed.</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;b.&nbsp;Right-click&nbsp;anywhere&nbsp;in&nbsp;the&nbsp;graphics&nbsp;area&nbsp;and&nbsp;select&nbsp;<b>Open&nbsp;Help</b>&nbsp;</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;the&nbsp;context-sensitive&nbsp;menu.&nbsp;The&nbsp;user-interface&nbsp;DraftSight&nbsp;</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Help&nbsp;system&nbsp;opens and displays the <b>Constructing Lines</b> Help topic.</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;c.&nbsp;Read the Help topic and close&nbsp;the&nbsp;Help.</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;d.&nbsp;Construct&nbsp;a&nbsp;line&nbsp;and&nbsp;select&nbsp;the&nbsp;line.</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;e.&nbsp;Right-click&nbsp;anywhere&nbsp;in&nbsp;the&nbsp;graphics&nbsp;area&nbsp;and</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;select&nbsp;<b>Do&nbsp;pattern</b>&nbsp;in&nbsp;the&nbsp;context-sensitive&nbsp;menu.</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;pattern&nbsp;of&nbsp;the selected Line&nbsp;is&nbsp;constructed.</span>
<span style="color:green;">'&nbsp;&nbsp;&nbsp;&nbsp;f.&nbsp;Press&nbsp;the&nbsp;Enter&nbsp;</span><span style="color: #008000">key and exit DraftSight.</span>
<span style="color:green;">'----------------------------------------------------------------</span>

<span style="color:blue;">Imports</span>&nbsp;System
<span style="color:blue;">Imports</span>&nbsp;DraftSight.Interop.dsAutomation
<span style="color:blue;">Imports</span>&nbsp;System.Runtime.InteropServices
<span style="color:blue;">Imports</span>&nbsp;System.Windows.Forms

<span style="color:blue;">Module</span>&nbsp;<span style="color:#2b91af;">Module1</span>

&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Sub</span>&nbsp;Main()

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsApp&nbsp;<span style="color:blue;">As</span>&nbsp;DraftSight.Interop.dsAutomation.<span style="color:#2b91af;">Application</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Connect&nbsp;to&nbsp;DraftSight&nbsp;application</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dsApp&nbsp;=&nbsp;GetObject(,&nbsp;<span style="color:#a31515;">&quot;DraftSight.Application&quot;</span>)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;dsApp&nbsp;<span style="color:blue;">Is</span>&nbsp;<span style="color:blue;">Nothing</span>&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Return</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span></pre>
<pre style="font-family: Consolas; font-size: 13; color: black; background: white">        <span style="COLOR: green">'Abort any command currently running in DraftSight to avoid nested commands</span>
        dsApp.<b>AbortRunningCommand</b>()

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Get&nbsp;active&nbsp;document</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsDoc&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">Document</span>&nbsp;=&nbsp;dsApp.<b>GetActiveDocument</b>()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">If</span>&nbsp;dsDoc&nbsp;<span style="color:blue;">Is</span>&nbsp;<span style="color:blue;">Nothing</span>&nbsp;<span style="color:blue;">Then</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">&quot;There&nbsp;are&nbsp;no&nbsp;open&nbsp;documents&nbsp;in&nbsp;DraftSight.&quot;</span>)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Return</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">If</span>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Create&nbsp;three&nbsp;user&nbsp;commands&nbsp;for&nbsp;the context-sensitive&nbsp;menus</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;[error]&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">dsCreateCommandError_e</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;lineUserCmd&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">UserCommand</span>&nbsp;=&nbsp;dsApp.<b>CreateUserCommand</b>(<span style="color:#a31515;">&quot;APIUUID&quot;</span>,&nbsp;<span style="color:#a31515;">&quot;TEST_LINE&quot;</span>,&nbsp;<span style="color:#a31515;">&quot;^C^C_LINE&quot;</span>&nbsp;&amp;&nbsp;vbLf,&nbsp;<span style="color:#a31515;">&quot;Line&quot;</span>,&nbsp;<span style="color:blue;">String</span>.Empty,&nbsp;<span style="color:blue;">String</span>.Empty,&nbsp;_
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">dsUIState_e</span>.dsUIState_Document,&nbsp;[error])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;helpUserCmd&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">UserCommand</span>&nbsp;=&nbsp;dsApp.<b>CreateUserCommand</b>(<span style="color:#a31515;">&quot;APIUUID&quot;</span>,&nbsp;<span style="color:#a31515;">&quot;TEST_HELP&quot;</span>,&nbsp;<span style="color:#a31515;">&quot;'_HELP&quot;</span>&nbsp;&amp;&nbsp;vbLf,&nbsp;<span style="color:#a31515;">&quot;Help&quot;</span>,&nbsp;<span style="color:blue;">String</span>.Empty,&nbsp;<span style="color:blue;">String</span>.Empty,&nbsp;_
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">dsUIState_e</span>.dsUIState_Document,&nbsp;[error])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;patternUserCmd&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">UserCommand</span>&nbsp;=&nbsp;dsApp.<b>CreateUserCommand</b>(<span style="color:#a31515;">&quot;APIUUID&quot;</span>,&nbsp;<span style="color:#a31515;">&quot;TEST_PATTERN&quot;</span>,&nbsp;<span style="color:#a31515;">&quot;_-PATTERN&nbsp;_L&nbsp;3&nbsp;3&nbsp;5&nbsp;5&quot;</span>&nbsp;&amp;&nbsp;vbLf&nbsp;&amp;&nbsp;vbLf,&nbsp;<span style="color:#a31515;">&quot;Pattern&quot;</span>,&nbsp;<span style="color:blue;">String</span>.Empty,&nbsp;<span style="color:blue;">String</span>.Empty,&nbsp;_
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">dsUIState_e</span>.dsUIState_Document,&nbsp;[error])

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;menuItemType&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">dsMenuItemType_e</span>&nbsp;=&nbsp;<span style="color:#2b91af;">dsMenuItemType_e</span>.dsMenuItemType_UserCommand

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Add&nbsp;default&nbsp;context-sensitive&nbsp;menu&nbsp;item&nbsp;for&nbsp;first&nbsp;user&nbsp;command</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsDefaultContextMenuItem&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">ContextMenuItem</span>&nbsp;=&nbsp;dsApp.<b>AddDefaultContextMenu</b>(<span style="color:#a31515;">&quot;APIUUID&quot;</span>,&nbsp;menuItemType,&nbsp;<span style="color:#a31515;">&quot;Execute&nbsp;line&nbsp;command&quot;</span>,&nbsp;lineUserCmd.<b>GetID</b>())

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Add&nbsp;command&nbsp;context-sensitive menu&nbsp;item&nbsp;for&nbsp;second&nbsp;user&nbsp;command</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsCommandContextMenuItem&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">ContextMenuItem</span>&nbsp;=&nbsp;dsApp.<b>AddCommandContextMenu</b>(<span style="color:#a31515;">&quot;APIUUID&quot;</span>,&nbsp;menuItemType,&nbsp;<span style="color:#a31515;">&quot;Open&nbsp;Help&quot;</span>,&nbsp;helpUserCmd.<b>GetID</b>(),&nbsp;<span style="color:#a31515;">&quot;_LINE&quot;</span>)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:green;">'Add&nbsp;object&nbsp;context-sensitive menu&nbsp;item&nbsp;for&nbsp;third&nbsp;user&nbsp;command</span>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">Dim</span>&nbsp;dsObjectContextMenuItem&nbsp;<span style="color:blue;">As</span>&nbsp;<span style="color:#2b91af;">ContextMenuItem</span>&nbsp;=&nbsp;dsApp.<b>AddObjectContextMenu</b>(<span style="color:#a31515;">&quot;APIUUID&quot;</span>,&nbsp;menuItemType,&nbsp;<span style="color:#a31515;">&quot;Do&nbsp;pattern&quot;</span>,&nbsp;patternUserCmd.<b>GetID</b>(),&nbsp;<span style="color:#2b91af;">dsObjectType_e</span>.dsLineType)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">MessageBox</span>.Show(<span style="color:#a31515;">&quot;Perform&nbsp;steps&nbsp;7a&nbsp;-&nbsp;7f.&quot;</span>)

&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">Sub</span>

<span style="color:blue;">End</span>&nbsp;<span style="color:blue;">Module</span></pre>
<pre style="font-family: Consolas; font-size: 13; color: black; background: white">
</pre>

</body>

</html>