не прошло и 6 лет...
методом научного тыка нашел какие координаты нужно передавать в AcEdViewCube
понятия не имею почему и как, но на 2 проектах с разной компоновкой контролов у меня работает
#define MAGIC_TOP_NUMBER 797
void CGsPreviewCtrl::OnLButtonDown(UINT nFlags, CPoint point)
{
HWND hWnd = GetParent()->GetSafeHwnd();
RECT rcChild;
::GetWindowRect(GetSafeHwnd(), &rcChild);
::MapWindowPoints(NULL, hWnd, (LPPOINT)&rcChild, 2);
mpAcEdViewCube->onLButtonDown(nFlags, CPoint(point.x, point.y + MAGIC_TOP_NUMBER - (rcChild.bottom - rcChild.top)));
...
}
void CGsPreviewCtrl::OnLButtonUp(UINT nFlags, CPoint point)
{
HWND hWnd = GetParent()->GetSafeHwnd();
RECT rcChild;
::GetWindowRect(GetSafeHwnd(), &rcChild);
::MapWindowPoints(NULL, hWnd, (LPPOINT)&rcChild, 2);
mpAcEdViewCube->onLButtonUp(nFlags, CPoint(point.x, point.y + MAGIC_TOP_NUMBER - (rcChild.bottom - rcChild.top)));
...
}
void CGsPreviewCtrl::OnMouseMove(UINT nFlags, CPoint point)
{
HWND hWnd = GetParent()->GetParent()->GetSafeHwnd();
RECT rcChild;
::GetWindowRect(GetSafeHwnd(), &rcChild);
::MapWindowPoints(NULL, hWnd, (LPPOINT)&rcChild, 2);
mpAcEdViewCube->onMouseMove(nFlags, CPoint(point.x, point.y + MAGIC_TOP_NUMBER - (rcChild.bottom - rcChild.top)));
...
}
ну раз этот куб начал работат возникло еще 2 вопроса
1. как зафиксировать первично инициализированый вид как "Home" что бы можно было туда вернутся
пробовал mpAcEdViewCube->setHomeCamera(homeView);
но не пойму как правельно настроить этот объект. если беру тут что на текущем чертеже, то там default под углом
2. как реализовать "zoom" относительно курсора мыши, по принципу как автокад делает