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

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>
            国产日韩欧美亚洲一区| 久久久蜜桃精品| 男人天堂欧美日韩| 一区二区三区免费看| 久久亚洲精品中文字幕冲田杏梨 | 午夜精品理论片| 日韩一级免费| 亚洲精品视频一区| 亚洲精品国精品久久99热| 葵司免费一区二区三区四区五区| 欧美一区二区观看视频| 性欧美精品高清| 久久成人国产精品| 久久久亚洲国产美女国产盗摄| 美女91精品| 欧美电影电视剧在线观看| 亚洲激情欧美| 久久精品一区二区三区中文字幕| 香蕉免费一区二区三区在线观看| 久久久久久夜| 亚洲美女av黄| 午夜视频久久久| 欧美日韩一视频区二区| 精品91在线| 91久久国产综合久久| 亚洲欧美日韩天堂一区二区| 亚洲第一福利社区| 亚洲性感美女99在线| 嫩草国产精品入口| 国产精品视频观看| 亚洲免费电影在线| 性欧美超级视频| 欧美日韩国产在线一区| 亚洲高清色综合| 午夜免费电影一区在线观看| 亚洲电影专区| 欧美在线三区| 国产精品自拍小视频| 国内自拍视频一区二区三区| 亚洲靠逼com| 免费亚洲一区二区| 久久福利毛片| 国产欧美一区二区精品婷婷| 亚洲已满18点击进入久久| 亚洲第一精品电影| 久久激情五月丁香伊人| 国产精品亚洲аv天堂网| 在线亚洲伦理| 亚洲主播在线观看| 国内精品久久久久久久影视麻豆 | 亚洲欧美福利一区二区| 欧美日韩一区二区免费视频| 亚洲一区不卡| 亚洲欧美资源在线| 国产精品网曝门| 久久黄色网页| 久久免费少妇高潮久久精品99| 国产精品私房写真福利视频| 久久成人综合视频| 老色鬼精品视频在线观看播放| 一区二区三区无毛| 欧美福利精品| 欧美日韩免费看| 午夜性色一区二区三区免费视频| 亚洲在线一区二区| 怡红院精品视频在线观看极品| 美女视频黄a大片欧美| 欧美视频福利| 久久精品一区| 久久精品国产久精国产思思| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产精品第一区二区| 欧美大尺度在线| 亚洲在线视频| 欧美高清视频一区二区| 欧美一区二区三区免费看| 久久久久九九九九| 亚洲欧美卡通另类91av| 久久婷婷国产麻豆91天堂| 亚洲资源av| 久久亚洲午夜电影| 久久久久久亚洲精品中文字幕| 久久精品99| 亚洲精品视频一区| 久久久91精品国产一区二区三区| 亚洲精品自在久久| 亚洲一区二区三区在线观看视频| 亚洲电影av| 欧美在线国产| aa级大片欧美| 欧美高清免费| 欧美黑人在线观看| 国产一区二区高清不卡| 亚洲一区二区三区免费在线观看| 亚洲美女尤物影院| 蜜桃久久av一区| 久久久久久九九九九| 久久精品视频在线| 久久久综合激的五月天| 国产综合精品| 午夜欧美理论片| 久久精品亚洲精品| 国产亚洲综合在线| 久久不见久久见免费视频1| 久久综合精品国产一区二区三区| 亚洲电影第1页| 欧美揉bbbbb揉bbbbb| 这里只有精品在线播放| 欧美一区成人| 亚洲第一色中文字幕| 欧美日韩免费高清| 久久九九全国免费精品观看| 欧美肥婆在线| 亚洲永久免费| 在线视频国内自拍亚洲视频| 伊人久久久大香线蕉综合直播| 国产在线播精品第三| 亚洲欧美日韩国产综合精品二区| 国产亚洲毛片在线| 欧美有码在线观看视频| 亚洲电影免费在线| a91a精品视频在线观看| 亚洲一区影音先锋| 噜噜噜躁狠狠躁狠狠精品视频| 在线观看一区| 亚洲国产欧美在线人成| 日韩一级精品视频在线观看| 久久综合激情| 亚洲欧美综合一区| 欧美与欧洲交xxxx免费观看| 黄色成人小视频| 久久九九有精品国产23| 免费不卡视频| 最新成人在线| 欧美日韩一区二区免费在线观看| 亚洲精品影院| 99热这里只有成人精品国产| 欧美日本在线播放| 亚洲一区二区在| 性久久久久久久久久久久| 国产精品自拍一区| 久久成人国产精品| 亚洲国产日韩精品| 亚洲自拍另类| 欧美日韩中文字幕在线视频| 久久九九热re6这里有精品| 亚洲电影免费观看高清完整版在线 | 性欧美video另类hd性玩具| 久久久久久久国产| 亚洲电影自拍| 欧美私人网站| 久久躁狠狠躁夜夜爽| 亚洲最新视频在线| 激情欧美丁香| 欧美精品在线观看播放| 午夜精品久久久久影视 | 亚洲一区三区视频在线观看 | 亚洲国产成人91精品| 欧美日韩免费| 美女在线一区二区| 在线视频一区观看| 女女同性精品视频| 一区二区精品国产| 狠狠入ady亚洲精品| 欧美日韩伦理在线免费| 欧美资源在线| 亚洲深夜影院| 日韩一区二区精品在线观看| 老司机aⅴ在线精品导航| 久久国产99| 亚洲图片激情小说| 亚洲国产另类精品专区| 国产欧美日韩免费看aⅴ视频| 欧美日韩视频在线第一区| 久久国产精品网站| 一本大道久久a久久综合婷婷 | 欧美成人网在线| 久久精品1区| 亚洲主播在线| 中国女人久久久| 国产午夜精品福利| 欧美午夜在线| 欧美精品一区二区三区蜜桃 | 国产手机视频一区二区| 欧美不卡三区| 欧美国产三级| 久久午夜国产精品| av成人免费在线| 亚洲精品视频二区| 国语自产精品视频在线看8查询8| 国产精品久久7| 欧美日韩人人澡狠狠躁视频| 午夜精品一区二区在线观看| 午夜日韩激情| 午夜精彩国产免费不卡不顿大片| 一区二区三区欧美视频| 亚洲精品国产品国语在线app| 欧美一区免费| 久久躁日日躁aaaaxxxx| 久久人人97超碰国产公开结果|