Acad多窗体并排展现

运行arx后变为如下效果

      现在图纸比较工具都用预览功能,但是现在基于acad二次开发的专业软件多了,不定什么时候即就搞得acad崩溃,就算是autodesk自己的实例程序blockview也一样,没办法,先预一个双窗体功能,如果需要的话可以让它们进行比较。

      注意:随着版本升级,CAD有可能窗口的组织方式会变化,要结合Spy++等工具查看cad的窗体结构和窗体信息,并且灵活运用VC的断点调试查看FindWindowEx函数是否捕捉到了正确的窗体句柄,才能保证代码正常工作

      代码如下:

RECT rect;
::GetClientRect(acedGetAcadFrame()->m_hWndMDIClient,&rect);  //获取MDI区域大小
CWnd * pMdi=acedGetAcadFrame()->FindWindowEx(acedGetAcadFrame()->m_hWnd,NULL,_T("MDIClient"),NULL);  //获取MDI区域窗体句柄
HWND h_pSub1=::FindWindowEx(pMdi->m_hWnd,NULL,NULL,_T("Drawing1.dwg"));  //根据需要修改要查找的窗体标题,打开的图纸往往在标题里包含文件名,这样就可以知道该排哪个窗体了
::ShowWindow (h_pSub1,SW_NORMAL);
::SetWindowPos(h_pSub1,NULL,0,0,rect.right/2,rect.bottom,SWP_SHOWWINDOW);
HWND h_pSub2=::FindWindowEx(pMdi->m_hWnd,NULL,NULL,_T("Drawing2.dwg"));
::ShowWindow (h_pSub2,SW_NORMAL);
::SetWindowPos(h_pSub2,NULL,rect.right/2,0,rect.right/2,rect.bottom,SWP_SHOWWINDOW); 


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值