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

Life is Good.

Enhance Tech and English
隨筆 - 65, 文章 - 20, 評(píng)論 - 21, 引用 - 0
數(shù)據(jù)加載中……

AutoCAD: 添加鼠標(biāo)右鍵

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) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            国产精品久久网站| 亚洲第一区中文99精品| 欧美日韩视频| 欧美日韩不卡一区| 久久久91精品| 久久久久久香蕉网| 久久精品国产综合精品| 欧美一区二区日韩一区二区| 亚洲欧美一区二区在线观看| 亚洲综合精品自拍| 亚洲无限乱码一二三四麻| 亚洲精品午夜精品| 欧美激情视频网站| 欧美激情视频在线播放| 免费一级欧美片在线观看| 久久成人在线| 久久露脸国产精品| 久久精品道一区二区三区| 欧美一级成年大片在线观看| 久久久久久一区二区| 欧美成人国产一区二区| 日韩一级片网址| 亚洲一区免费在线观看| 久久久夜夜夜| 欧美1级日本1级| 亚洲国内高清视频| 欧美激情精品久久久| 亚洲高清在线精品| 亚洲少妇诱惑| 午夜在线电影亚洲一区| 亚洲国产日韩综合一区| 噜噜噜噜噜久久久久久91| 久久精品人人| 欧美福利一区二区| 国产日本亚洲高清| 国产精品久久久久久久浪潮网站| 韩国三级在线一区| 在线亚洲一区| 欧美~级网站不卡| 正在播放亚洲| 欧美大胆人体视频| 狠狠狠色丁香婷婷综合激情| 亚洲小说春色综合另类电影| 蜜臀久久99精品久久久画质超高清| 日韩一级精品视频在线观看| 久久艳片www.17c.com| 国产精品亚洲综合天堂夜夜| 99riav国产精品| 亚洲第一毛片| 麻豆91精品| 伊人一区二区三区久久精品| 亚洲欧美日韩电影| 夜夜嗨av色综合久久久综合网| 老司机成人在线视频| 欧美亚洲成人网| 亚洲国产一区二区a毛片| 久久人人爽人人| 欧美在线播放一区二区| 国产精品久久久久久久久久尿| 一区二区91| 亚洲精品一区二区网址| 噜噜噜噜噜久久久久久91| 国内精品视频一区| 欧美在线播放| 欧美一区三区三区高中清蜜桃 | 亚洲激情在线播放| 久久精品亚洲精品| 欧美怡红院视频| 国产一区二区三区久久久久久久久| 亚洲专区在线| 亚洲一区在线免费| 国产伦一区二区三区色一情| 午夜免费在线观看精品视频| 亚洲人成人77777线观看| 欧美寡妇偷汉性猛交| 亚洲区在线播放| 亚洲国产欧美一区二区三区丁香婷| 免费日韩一区二区| 亚洲精品欧美专区| 亚洲久久视频| 国产精品va在线播放| 亚洲欧美日韩精品综合在线观看| 一本大道久久a久久综合婷婷| 欧美三区美女| 久久精品青青大伊人av| 久久精品视频在线看| 伊人夜夜躁av伊人久久| 欧美国产精品中文字幕| 在线视频你懂得一区二区三区| 亚洲一级特黄| 亚洲欧美在线一区| 国产在线麻豆精品观看| 91久久线看在观草草青青| 欧美国产综合| 亚洲性夜色噜噜噜7777| 日韩视频专区| 日韩天堂av| 韩国成人福利片在线播放| 欧美成人蜜桃| 国产精品白丝jk黑袜喷水| 欧美一区二区观看视频| 久久久久久精| 一区二区三区日韩欧美| 亚洲欧美日韩天堂一区二区| 尤物yw午夜国产精品视频明星| 亚洲国产二区| 国产精品日本| 亚洲精品国产精品乱码不99按摩| 欧美午夜理伦三级在线观看| 欧美综合国产| 欧美激情一区在线观看| 欧美一级淫片播放口| 欧美伊人久久大香线蕉综合69| 另类图片综合电影| 久久九九免费视频| 久久综合九色综合欧美就去吻| 另类天堂视频在线观看| 久久久久中文| 亚洲一级在线观看| 欧美三级黄美女| 亚洲国产精彩中文乱码av在线播放| 亚洲精品乱码久久久久| 亚洲精品乱码久久久久久黑人 | 亚洲小说欧美另类社区| 久久视频在线视频| 亚洲欧美日韩国产中文 | 香蕉av777xxx色综合一区| 99视频一区| 狠狠综合久久av一区二区老牛| 在线观看成人一级片| 亚欧美中日韩视频| 亚洲电影av| 一本大道久久a久久精二百| 亚洲精品视频在线| 欧美精品三区| 亚洲午夜一区| 久久成年人视频| 亚洲精品韩国| 亚洲欧美大片| 午夜精品久久久久久久久久久| 亚洲精品久久久久| 久久久久一区二区| 亚洲性色视频| 午夜精品久久久久影视 | 91久久精品国产| 国产一区二区三区四区三区四| 在线国产欧美| 亚洲欧美日韩精品一区二区| 久久久久成人精品| 亚洲欧美激情一区二区| 久久综合五月天婷婷伊人| 日韩一级成人av| 欧美精品啪啪| 欧美日韩亚洲视频| 欧美激情2020午夜免费观看| 亚洲精选在线| 久久综合色播五月| 欧美日韩高清区| 亚洲啪啪91| 亚洲经典三级| 欧美日韩一区二区三区在线看| 亚洲成人在线网| 久久综合激情| 午夜精品美女久久久久av福利| 久久综合狠狠综合久久综合88| 亚洲级视频在线观看免费1级| 亚洲视屏在线播放| 一区二区成人精品 | 亚洲一区免费| 午夜视频在线观看一区| 99精品欧美一区二区蜜桃免费| 欧美激情精品久久久久久大尺度| 国产精品乱码一区二三区小蝌蚪| 中文在线不卡| 欧美一区二区在线视频| 亚洲成人资源网| 欧美aa国产视频| 校园春色综合网| 久久久久免费观看| 亚洲一区二区精品视频| 麻豆精品视频在线| 亚洲精品欧美日韩| 国产日产欧美a一级在线| 欧美华人在线视频| 久久久午夜精品| 亚洲欧洲一区二区三区在线观看| 亚洲精品美女在线观看播放| 国产视频综合在线| 欧美福利在线观看| 久久久之久亚州精品露出| 亚洲一区3d动漫同人无遮挡| 亚洲人成在线影院| 午夜精品久久久久| 欧美在线观看一区二区| 中文欧美字幕免费| 99国产精品久久久久老师| 亚洲国产91精品在线观看| 欧美日韩在线播放三区四区| 欧美精品一区二区三区在线看午夜 | 在线日韩一区二区|