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

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久久久久久老狼| 亚洲作爱视频| 亚洲电影观看| 欧美一区二区日韩一区二区| 久久久久一区二区三区四区| 亚洲欧美不卡| 激情成人综合| 国产一区视频在线观看免费| 欧美视频一区二区在线观看 | 亚洲天堂av高清| 日韩视频免费观看| 亚洲精品影视| 日韩性生活视频| 亚洲理伦在线| 亚洲一区在线观看视频 | 亚洲图片欧洲图片日韩av| 亚洲午夜在线| 久久久综合精品| 欧美日韩三级| 一区精品在线| 亚洲影视中文字幕| 久久久www成人免费毛片麻豆 | 亚洲男人av电影| 久久婷婷色综合| 欧美乱妇高清无乱码| 国产日韩成人精品| 亚洲精品欧美专区| 久久激五月天综合精品| 亚洲激情欧美激情| 欧美在线视频全部完| 欧美日韩一区二区三区视频| 影音先锋中文字幕一区| 亚洲欧美日韩国产综合| 亚洲国产精品久久久久| 欧美亚洲免费高清在线观看| 欧美日韩精品一区二区| 在线日韩欧美视频| 欧美在线观看视频在线| 一区二区免费在线视频| 欧美成人按摩| 亚洲第一区中文99精品| 欧美影视一区| 在线视频精品一| 欧美精品一区二区视频| 亚洲国产婷婷综合在线精品| 久久久久久久久久看片| 亚洲男女自偷自拍图片另类| 欧美视频二区| 宅男66日本亚洲欧美视频| 欧美电影资源| 久久久亚洲欧洲日产国码αv | 狠狠色狠狠色综合日日tαg| 午夜老司机精品| 夜夜嗨av一区二区三区网站四季av| 蘑菇福利视频一区播放| 久久久久一本一区二区青青蜜月| 91久久久在线| 老司机精品视频网站| 红桃视频亚洲| 久久久久.com| 久久精品国产亚洲一区二区| 国产色视频一区| 欧美一区二区网站| 亚洲欧美日韩一区在线| 国产嫩草影院久久久久| 欧美一区二区在线免费观看| 亚洲欧美三级伦理| 国产日韩欧美一区二区三区在线观看| 亚洲欧美美女| 亚洲欧美三级在线| 国内精品久久久久久影视8| 久久久久久久久蜜桃| 久久久久成人精品| 136国产福利精品导航网址| 欧美激情网友自拍| 欧美激情一区二区三区蜜桃视频 | 久久精品免费播放| 国产午夜精品一区理论片飘花| 欧美一级网站| 久久高清免费观看| 91久久精品国产91久久性色tv| 亚洲国产成人av| 欧美日韩精品国产| 亚洲欧洲av一区二区三区久久| 性欧美18~19sex高清播放| 精品不卡视频| 亚洲人成在线免费观看| 国产精品区一区二区三| 久久人体大胆视频| 欧美高清视频| 亚洲尤物视频在线| 久久久久久69| 日韩一级大片在线| 亚洲免费网站| 亚洲欧洲精品成人久久奇米网| 国产精品99久久99久久久二8 | 销魂美女一区二区三区视频在线| 在线国产亚洲欧美| 亚洲一区二区三区四区视频| 激情综合视频| 在线一区视频| 亚洲激情不卡| 欧美一区二区视频在线| 99视频精品全国免费| 欧美在线观看网站| 亚洲视频免费观看| 久久亚洲国产成人| 欧美一区二区在线免费播放| 欧美韩日精品| 久久人体大胆视频| 国产精品男女猛烈高潮激情 | 久久国产精品高清| 亚洲第一视频网站| 伊人狠狠色丁香综合尤物| 99国产精品久久| 在线播放日韩欧美| 亚洲男人的天堂在线| 亚洲美女免费精品视频在线观看| 亚洲欧美在线高清| 亚洲一级高清| 欧美日韩一区二区三区在线看| 欧美成人免费一级人片100| 国产三区精品| 亚洲欧美成人| 午夜欧美精品久久久久久久| 欧美日本国产精品| 亚洲电影一级黄| 伊人久久婷婷色综合98网| 性久久久久久久久| 久久精品盗摄| 国产偷国产偷亚洲高清97cao| 亚洲天天影视| 午夜精彩国产免费不卡不顿大片| 欧美日韩一区二区三区高清| 亚洲另类自拍| 亚洲私人影院在线观看| 欧美日韩在线一区二区| 日韩视频一区二区三区在线播放免费观看 | 蜜桃久久精品一区二区| 久久综合久久综合这里只有精品 | 欧美激情2020午夜免费观看| 免费视频亚洲| 91久久嫩草影院一区二区| 欧美a级片网| 最新国产精品拍自在线播放| 亚洲美女av网站| 欧美精品一卡二卡| 亚洲毛片在线| 亚洲欧美激情在线视频| 国产欧美日韩在线视频| 久久精品午夜| 亚洲高清影视| 亚洲视频在线一区观看| 国产精品久久7| 校园激情久久| 欧美激情按摩| 亚洲一区二区三区乱码aⅴ| 国产欧美一区二区三区在线老狼| 午夜激情综合网| 另类天堂av| 亚洲美女视频在线观看| 国产精品久久久久久妇女6080| 午夜伦理片一区| 欧美大片在线观看一区| 亚洲视频一起| 国内精品久久久久影院 日本资源| 美女视频黄a大片欧美| 亚洲精品免费一区二区三区| 亚洲欧美中文日韩v在线观看| 激情欧美一区二区三区| 一区二区三区国产精品| 国产日本欧美一区二区三区| 久久久久久夜| 亚洲精品一区中文| 久久国产视频网站| 亚洲激情欧美激情| 国产精品久久久久aaaa樱花| 久久久久免费观看| 一区二区高清在线观看| 久久综合久久久久88| 亚洲欧美视频一区二区三区| 韩日成人在线| 欧美三级在线播放| 久久久免费精品视频| 一区二区三区|亚洲午夜| 美国十次了思思久久精品导航| 国产精品99久久久久久久久| 一区二区三区在线看| 国产九九视频一区二区三区| 欧美精品色一区二区三区| 久久综合一区| 久久精品99无色码中文字幕| 亚洲午夜视频| 99ri日韩精品视频| 欧美激情一区二区| 久久手机精品视频|