У меня есть указатель на управление с функцией
CWnd* CWnd::GetDlgItem(int ITEM_ID)
таким образом, я имею CWnd*
указатель, который указывает на управление, но просто не может найти метод в CWnd
класс, который получит размер и местоположение данного контроля. Какая-либо справка?
CRect rect;
CWnd *pWnd = pDlg->GetDlgItem(YOUR_CONTROL_ID);
pWnd->GetWindowRect(&rect);
pDlg->ScreenToClient(&rect); //optional step - see below
//position: rect.left, rect.top
//size: rect.Width(), rect.Height()
GetWindowRect
дает экранные координаты элемента управления. pDlg-> ScreenToClient
затем преобразует их относительно клиентской области диалога, что обычно вам и нужно.
Примечание: pDlg
выше - это диалоговое окно. Если вы находитесь в функции-члене класса диалога, просто удалите pDlg ->
.