青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Life is Good.

Enhance Tech and English
隨筆 - 65, 文章 - 20, 評論 - 21, 引用 - 0
數據加載中……

AutoCAD: 添加鼠標右鍵

using System;
using System.Collections.Generic;
using System.Text;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Windows;

namespace ContextMenuApp
{
    
public class ContextMenuApp : IExtensionApplication
    {

        
private ContextMenuExtension m_ContextMenu;

        
public void Initialize()
        {
            AddContextMenu();
        }

        
public void Terminate()
        {
            RemoveContextMenu();
        }


        
// AddContextMenu
        public void AddContextMenu()
        {
            
try
            {
                m_ContextMenu 
= new ContextMenuExtension();
                m_ContextMenu.Title 
= (("ContextMenu Title")); // Change it to your Context Menu Title
                m_ContextMenu.Popup += new EventHandler(BlkRefContextMenu_Popup);

                MenuItem mi 
= new MenuItem(("HelloWorld")); // Change it to your Context Menu Item Name
                mi.Click += new EventHandler(CallbackOnClick);
                m_ContextMenu.MenuItems.Add(mi);
                RXClass rxc 
= BlockReference.GetClass(typeof(BlockReference));
                Application.AddObjectContextMenuExtension(rxc, m_ContextMenu); 
// Only Add it to BlockReference
            }
            
catch (System.Exception exc)
            {
                Editor ed 
= Application.DocumentManager.MdiActiveDocument.Editor;
                ed.WriteMessage(
string.Format("\n Add ContextMenu error: {0}", exc.Message));
            }
        }

        
// RemoveContextMenu
        public void RemoveContextMenu()
        {
            
try
            {
                
if (m_ContextMenu != null)
                {
                    RXClass rxc 
= BlockReference.GetClass(typeof(BlockReference));
                    Application.RemoveObjectContextMenuExtension(rxc, m_ContextMenu);
                    m_ContextMenu 
= null;
                }
            }
            
catch (System.Exception exc)
            {
                Editor ed 
= Application.DocumentManager.MdiActiveDocument.Editor;
                ed.WriteMessage(
string.Format("\n Add ContextMenu error: {0}", exc.Message));
            }
        }

        
private void BlkRefContextMenu_Popup(Object o, EventArgs e)
        {
            DocumentLock docLock 
= Application.DocumentManager.MdiActiveDocument.LockDocument();

            Editor ed 
= Application.DocumentManager.MdiActiveDocument.Editor;
            
bool visible = true;

            
// If this is multiple selection, disabled the menu item.
            PromptSelectionResult selectionRes = ed.SelectImplied();
            
if (selectionRes.Status == PromptStatus.OK)
            {
                ObjectId[] objIds 
= selectionRes.Value.GetObjectIds();
                
if (objIds != null && objIds.Length > 1)
                {
                    visible 
= false;
                }
            }

            ContextMenuExtension objContextMenu 
= o as ContextMenuExtension;
            
if (objContextMenu != null)
            {
                
foreach (MenuItem item in objContextMenu.MenuItems)
                {
                    item.Enabled 
= visible;
                }
            } 
            
            docLock.Dispose();
        }

        
// CallbackOnClick
        private void CallbackOnClick(Object o, EventArgs e)
        {
            DocumentLock docLock 
= Application.DocumentManager.MdiActiveDocument.LockDocument();

            HelloWorld(); 
// Invoke this function

            docLock.Dispose();
        }

        
// You can change this function name 
        [CommandMethod("HelloWorld")]
        
public void HelloWorld()
        {
            
// Get current file name
            string strFileName = Application.DocumentManager.MdiActiveDocument.Name;

            
// Get the selection block reference and block record  handle
            string strBlkRefHandle = ("");
            
string strBlkRecHandle = ("");
            Editor ed 
= Application.DocumentManager.MdiActiveDocument.Editor;
            PromptSelectionResult sSelResult 
= ed.SelectImplied(); // ed.GetSelection();

            
if (sSelResult.Status == PromptStatus.OK)
            {
                ObjectId[] objectIDs 
= sSelResult.Value.GetObjectIds();
                
if (objectIDs.Length == 1)
                {
                    ObjectId blkRefID 
= objectIDs[0];
                    
if (blkRefID.IsValid)
                    {
                        
// Get handle
                        Handle handle = blkRefID.Handle;
                        strBlkRefHandle 
= handle.ToString();

                        Database db 
= HostApplicationServices.WorkingDatabase;
                        Transaction tr 
= db.TransactionManager.StartTransaction();

                        BlockReference blf 
= (BlockReference)tr.GetObject(blkRefID, OpenMode.ForRead);
                        
if (blf is BlockReference)
                        {
                            ObjectId blkRecID 
= blf.BlockTableRecord;
                            
if (blkRecID.IsValid)
                                strBlkRecHandle 
= blkRecID.Handle.ToString();
                        }

                        tr.Commit();
                    }
                }
            }

            
if (strFileName.Length > 0 && strBlkRefHandle.Length > 0 && strBlkRecHandle.Length > 0)
            {
                
// Invoke external EXE 
                System.Diagnostics.ProcessStartInfo info =
                    
new System.Diagnostics.ProcessStartInfo(@"E:\work\ContextMenuApp\SimpleProject\bin\Release\SimpleProject.exe"); // Your exe path

                
// Pass three arguments
                string sArg = strFileName + " " + strBlkRefHandle + " " + strBlkRecHandle; 
                info.Arguments 
= sArg;
                System.Diagnostics.Process p 
= System.Diagnostics.Process.Start(info);
            }
        }
    }
}


posted on 2010-05-29 23:17 Mike Song 閱讀(427) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            影音先锋在线一区| 宅男精品视频| 一区二区成人精品| 日韩视频在线一区二区| 一区二区国产日产| 亚洲女爱视频在线| 久久精品123| 老司机久久99久久精品播放免费| 久久视频国产精品免费视频在线| 久久视频在线免费观看| 欧美国产日本高清在线| 亚洲美女性视频| 亚洲欧美综合| 欧美成人精品h版在线观看| 欧美日韩美女在线| 国产亚洲欧美一区二区| 亚洲国内欧美| 午夜欧美精品| 欧美a级片网站| 亚洲视频欧洲视频| 久久久亚洲精品一区二区三区| 欧美精品少妇一区二区三区| 国产毛片一区二区| 日韩午夜高潮| 久久久999精品| 日韩视频专区| 亚洲国产精品一区二区www在线| 亚洲一区二区三区视频| 亚洲免费在线视频| 国产一区二区三区直播精品电影| 国产欧美日韩在线观看| 在线观看的日韩av| 中文无字幕一区二区三区| 久久久综合精品| 夜夜夜久久久| 欧美96在线丨欧| 国产综合色精品一区二区三区| 99re国产精品| 欧美不卡视频| 欧美一区二区在线播放| 国产精品盗摄一区二区三区| 在线观看亚洲视频| 欧美在线视频观看| 亚洲视频视频在线| 欧美日韩精品欧美日韩精品一| 激情综合自拍| 久久精品99国产精品| 亚洲午夜精品福利| 欧美日韩午夜| 亚洲免费高清视频| 亚洲电影专区| 午夜精品一区二区在线观看| 欧美日韩调教| 一区二区三区 在线观看视| 久久综合导航| 久久精品人人爽| 国产在线日韩| 久久婷婷国产综合尤物精品| 欧美一区二区黄| 国产日韩综合一区二区性色av| 亚洲永久视频| 亚洲美女毛片| 国产精品大片| 欧美在线观看视频在线 | 欧美国产在线观看| 亚洲第一精品久久忘忧草社区| 久久久久久久久岛国免费| 销魂美女一区二区三区视频在线| 国产女主播一区二区三区| 欧美在线播放一区二区| 亚洲欧美一区二区视频| 国产亚洲精品v| 麻豆精品精品国产自在97香蕉| 久久久久久久久久看片| 亚洲高清不卡在线观看| 亚洲国产精品国自产拍av秋霞 | 亚洲日韩第九十九页| 久久三级福利| 亚洲免费视频网站| 久久久久这里只有精品| 亚洲大片在线| 亚洲精品中文在线| 国产精品亚洲综合久久| 久久免费黄色| 欧美激情国产精品| 亚洲永久免费精品| 久久久久欧美精品| 在线综合视频| 久久激情综合网| 夜夜嗨av一区二区三区| 亚洲欧美日韩国产精品| 在线精品亚洲一区二区| 日韩视频免费在线观看| 国产精品爽爽ⅴa在线观看| 美女久久网站| 欧美性片在线观看| 麻豆九一精品爱看视频在线观看免费| 欧美成人免费播放| 午夜电影亚洲| 欧美成人免费观看| 久久av一区二区三区漫画| 久久一区视频| 欧美一区二区三区精品| 狂野欧美激情性xxxx| 亚洲欧美在线免费| 欧美成人小视频| 久久九九国产精品怡红院| 欧美精品一区二区三区视频| 久久深夜福利| 国产精品一区二区黑丝| 亚洲电影在线播放| 激情欧美国产欧美| 亚洲欧美激情一区| 国产精品99久久99久久久二8| 欧美综合77777色婷婷| 亚洲性夜色噜噜噜7777| 欧美成人免费在线| 蜜桃av综合| 国产亚洲精久久久久久| 中文无字幕一区二区三区| 亚洲精品视频在线观看免费| 久久久精品国产一区二区三区| 先锋影音一区二区三区| 欧美日韩免费网站| 亚洲精品国精品久久99热一| 亚洲国产你懂的| 久久久久久久久蜜桃| 久久精品伊人| 国产亚洲亚洲| 篠田优中文在线播放第一区| 午夜综合激情| 欧美性色视频在线| 99视频精品全部免费在线| 亚洲精品中文在线| 欧美 日韩 国产精品免费观看| 久久女同互慰一区二区三区| 国产视频一区二区三区在线观看| 亚洲精品综合久久中文字幕| 最近中文字幕mv在线一区二区三区四区 | 99国产精品99久久久久久| 免费视频一区二区三区在线观看| 国产欧美日韩另类视频免费观看| 99视频精品全部免费在线| 日韩午夜电影| 欧美日本亚洲视频| 99热在这里有精品免费| 亚洲一级一区| 国产精品羞羞答答| 欧美一级久久| 免费中文字幕日韩欧美| 亚洲国产精品www| 欧美精品网站| 亚洲免费小视频| 久久另类ts人妖一区二区| 亚洲承认在线| 欧美日韩国产成人高清视频| 亚洲一级高清| 久久综合伊人77777麻豆| 亚洲日本电影| 欧美日韩在线观看一区二区三区 | 亚洲日本成人网| 欧美日韩色婷婷| 欧美一区二区成人| 亚洲国产99| 午夜激情综合网| 136国产福利精品导航网址| 欧美区高清在线| 欧美一级黄色网| 亚洲人成网在线播放| 午夜视频在线观看一区二区| 一区在线影院| 欧美日韩一区综合| 久久精品国产亚洲精品| 亚洲麻豆一区| 麻豆精品视频在线| 性欧美激情精品| 亚洲美女视频网| 狠狠综合久久| 欧美亚州在线观看| 开元免费观看欧美电视剧网站| 亚洲精品综合久久中文字幕| 久久久五月天| 一区二区三区波多野结衣在线观看| 国产日韩欧美一区在线| 欧美精品v国产精品v日韩精品| 性18欧美另类| 亚洲成人在线视频播放| 亚洲黄色av一区| 国产亚洲欧美日韩一区二区| 欧美日韩一区二区三区免费看 | 另类天堂av| 性伦欧美刺激片在线观看| 亚洲黄色av| 牛夜精品久久久久久久99黑人| 亚洲免费网址| 亚洲精品免费在线播放| 在线观看视频欧美| 国内精品久久久久久久97牛牛| 国产精品久久国产三级国电话系列| 欧美sm视频|