乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 99|回复: 6

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

[复制链接]

3

主题

6

帖子

1

银币

初来乍到

Rank: 1

铜币
18
发表于 2011-1-4 18:58:00 | 显示全部楼层 |阅读模式
我的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没有获得输入焦点的原因,但不知道怎样解决?请高手指点。
回复

使用道具 举报

0

主题

37

帖子

2

银币

初来乍到

Rank: 1

铜币
37
发表于 2011-1-4 19:42:00 | 显示全部楼层
调用winapi
回复

使用道具 举报

3

主题

6

帖子

1

银币

初来乍到

Rank: 1

铜币
18
发表于 2011-1-4 19:57:00 | 显示全部楼层
回复
能给出代码吗?
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2011-1-4 23:32:00 | 显示全部楼层
winapi SetFocus
先获取当前文档的句柄,doc.Window.Handle
回复

使用道具 举报

18

主题

174

帖子

11

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

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

使用道具 举报

84

主题

543

帖子

12

银币

中流砥柱

Rank: 25

铜币
886
发表于 2011-1-16 20:01:00 | 显示全部楼层
希望老师做个简单的例子...如何用doc.Window.Handle...?
回复

使用道具 举报

0

主题

23

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2011-10-19 15:51:00 | 显示全部楼层
学习了!调用WinApi
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 17:36 , Processed in 0.338581 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表