CAD有可能窗口的组织

2023-07-08 11:01:32 浏览数 (1)

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

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

111

代码语言:javascript复制
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 人点赞