明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3111|回复: 6

[求助]如何使AutoCad获得输入焦点

[复制链接]
发表于 2011-1-4 18:58:55 | 显示全部楼层 |阅读模式
我的dll命令代码如下:
        [CommandMethod("BLZ")]
        public static void Run()
        {
            MainForm mainForm = new MainForm();
            mainForm.IsRunInCAD = true;
            mainForm.Show();
        }
        public void Initialize()
        {
            Run();
        }
        public void Terminate()
        {
        }
      
在mainForm中有一个DataGridView,我想通过双击DataGridView的一列从而在Cad中GetPoint,该部分代码如下:
         private void dgvLightningRods_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {   
            this.Hide();
            
            PromptPointResult pPtRes;
            PromptPointOptions pPtOpts = new PromptPointOptions("");

            Document acDoc = Application.DocumentManager.MdiActiveDocument;

            pPtOpts.Message = "\n位置: "
            pPtOpts.AllowNone = true;
            pPtRes = acDoc.Editor.GetPoint(pPtOpts);

            if ((pPtRes.Status != PromptStatus.Cancel) && (pPtRes.Status != PromptStatus.None))
            {
                     //do something
            }
            this.Show();
       }

       该函数执行后,屏幕上出现的是文本输入的“I”形光标,而不是Cad中的GetPoint的“十”字形光标,此时在Cad中单击,才会出线“十”字形光标,便可以GetPoint。有没有办法可以直接出现“十”字形光标,提示用户输入呢?我初步怀疑是this.Hide()之后Cad没有获得输入焦点的原因,但不知道怎样解决?请高手指点。

发表于 2011-1-4 19:42:34 | 显示全部楼层
调用winapi
 楼主| 发表于 2011-1-4 19:57:43 | 显示全部楼层
回复 sxpd 的帖子

能给出代码吗?
发表于 2011-1-4 23:32:08 | 显示全部楼层
winapi SetFocus
先获取当前文档的句柄,doc.Window.Handle

评分

参与人数 1金钱 +20 收起 理由
bobeeeeee + 20

查看全部评分

发表于 2011-1-4 23:39:02 | 显示全部楼层
  1. [DllImport("user32")]
  2. static extern int SetForegroundWindow(IntPtr hwnd);

评分

参与人数 1金钱 +20 收起 理由
bobeeeeee + 20

查看全部评分

发表于 2011-1-16 20:01:45 | 显示全部楼层
希望老师做个简单的例子...如何用doc.Window.Handle...?
发表于 2011-10-19 15:51:21 | 显示全部楼层
学习了!调用WinApi
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 19:23 , Processed in 0.188995 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表