LoveArx 发表于 2016-9-22 16:05:00

ARX并列ACAD窗口的代码

实现如下效果,任意摆放2个dwg文件窗体(不要用最大化)运行arx后变为如下效果      现在图纸比较工具都用预览功能,但是现在基于acad二次开发的专业软件多了,不定什么时候即就搞得acad崩溃,就算是autodesk自己的实例程序blockview也一样,没办法,先预一个双窗体功能,如果需要的话可以让它们进行比较。      代码如下:
RECT rect;
GetClientRect(acedGetAcadFrame()->m_hWndMDIClient,&rect);//获取MDI区域大小
CWnd * pMdi=acedGetAcadFrame()->GetWindow(GW_CHILD);//获取MDI区域窗体句柄
HWND h_pSub1=FindWindowEx(pMdi->m_hWnd,NULL,NULL,_T("Drawing1.dwg"));//根据需要修改要查找的窗体标题,打开的图纸往往在标题里包含文件名,这样就可以知道该排哪个窗体了
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"));
SetWindowPos(h_pSub2,NULL,rect.right/2,0,rect.right/2,rect.bottom,SWP_SHOWWINDOW);

革天明 发表于 2016-9-22 17:35:35

谢谢楼主分享,每天都能学到好东西

守仁格竹GM 发表于 2016-9-23 10:03:08

{:1_1:}                                                      

q1355188058 发表于 2016-11-28 17:28:34

这个帖一般般,还可以哦。{:1_20:}

wuyanfan 发表于 2023-12-20 17:27:26

执行Syswindows命令,关键字V好像也可以达到一样效果
页: [1]
查看完整版本: ARX并列ACAD窗口的代码