Acad多窗体并排展现

实现如下效果,任意摆放2个dwg文件窗体(不要用最大化)

运行arx后变为如下效果

Acad多窗体并排展现_第1张图片

      现在图纸比较工具都用预览功能,但是现在基于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); 


 

你可能感兴趣的:(null,工具)