乐筑天下

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

梦想控件中鼠标事件的响应

[复制链接]

13

主题

31

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
83
发表于 2010-10-13 15:29:00 | 显示全部楼层 |阅读模式
   


m_pWndMsg = new CWinMsg(m_hDrawOcx);
        MxDraw::RegisterFilterWinMsg(m_hDrawOcx,m_pWndMsg);
void CTestDlg::OnDestroy()
{
       ….
       MxDraw::UnRegisterFilterWinMsg(m_hDrawOcx,m_pWndMsg);
    …..
}
LRESULT CWinMsg::OnViewLButtonDblClk(UINT nFlags, McGePoint2d point)
{

       CPoint ptView((int)point.x,(int)point.y);       AcGePoint3d pt = MxDraw::ViewToDocCoord(m_hOcx,ptView);
      
       double dWidth     = 1.0;
       double dHeight    = 1.0;
        int iWidth = 6;
       MxDraw::GetCursorPickRect(m_hOcx,iWidth);
      
       dWidth   = MxDraw::ViewLongToDocCoord(m_hOcx,iWidth);
       dHeight = dWidth;
           AcDbObjectIdArray aryId;
       MxTools::FindEntAtPoint(pt,NULL,dWidth / 2.0,aryId);

       if(aryId.length() > 0)
       {              AcDbObjectId entId = aryId[0];
              AcDbObjectPointer spEnt(entId,AcDb::kForRead);
              if(spEnt.openStatus() == Acad::eOk)
              {                     CString sClassName = spEnt->isA()->name();
                                 AcDbHandle handle;
                     spEnt->getAcDbHandle(handle);
                     TCHAR szHandle[256];
                     handle.getIntoAsciiBuffer(szHandle);                     CString sLayerName;
                     {
                            AcDbObjectPointer spLayerTableRec(spEnt->layerId(),AcDb::kForRead);
                            if(spLayerTableRec.openStatus() == Acad::eOk)
                            {
                                   LPCTSTR pszLayerName = NULL;
                                   spLayerTableRec->getName(pszLayerName);
                                   sLayerName = pszLayerName;
                            }
                     }
            
                     CString sT;
                     sT.Format(_T("类名:%s,层名:%s,名柄:%s"),sClassName,sLayerName,szHandle);

                     AfxMessageBox(sT);
                      MxDraw::SendStringToExecute(m_hOcx,_T(""));                     return 1;
              }
       }

       return 0;
}




public MouseEventEvent(int lType, double dX, double dY, int lRet)
private void axMxDrawX1_MouseEvent(object sender, AxMxDrawXLib._DMxDrawXEvents_MouseEventEvent e)
        {
            if(e.lType == 4)
            {
                MxDrawSelectionSet ss = new MxDrawSelectionSet();
                MxDrawResbuf filter = new MxDrawResbuf();
            
                MxDrawPoint point = new MxDrawPoint();
                point.x = e.dX;
                point.y = e.dY;

                ss.SelectAtPoint2(point,filter);

                if(ss.Count > 0)
                {
                    MxDrawEntity ent = ss.Item(0);
                    MessageBox.Show("点击了" + ent.ObjectName + "对象");
                  
                    /*
                    if (ent is MxDrawLine)
                    {
                        MxDrawLine line = (MxDrawLine)ent;
                    }
                     */
                }
                e.lRet = 1;                axMxDrawX1.SendStringToExecute("");
            }
回复

使用道具 举报

2

主题

165

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
173
发表于 2010-10-15 09:23:00 | 显示全部楼层
在ARX中也可以使用钩子来响应这些事件
回复

使用道具 举报

1

主题

15

帖子

12

银币

初来乍到

Rank: 1

铜币
19
发表于 2014-1-7 16:20:00 | 显示全部楼层
怎么用法?没看明白
回复

使用道具 举报

1

主题

3

帖子

1

银币

初来乍到

Rank: 1

铜币
7
发表于 2014-5-10 11:43:00 | 显示全部楼层
请问这些源代码可以怎么找到?
回复

使用道具 举报

3

主题

103

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
115
发表于 2014-7-25 13:32:00 | 显示全部楼层
东西在哪里?
回复

使用道具 举报

13

主题

31

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
83
发表于 2014-7-30 10:46:00 | 显示全部楼层
去我们网上下载,www.mxdraw.com
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 05:10 , Processed in 0.204562 second(s), 75 queries .

© 2020-2025 乐筑天下

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