У меня есть диалоговое окно, которое я хочу поместить в другое диалоговое окно и положение относительно одного из элементов управления в главном диалоговом окне.
void CspAceDlg::DrawResultsArea()
{
CWnd* pTabCtl = GetDlgItem(IDC_BUILDTABS);
CRect rectTabCtl; // Allocate CRect for control's position.
pTabCtl->GetWindowRect(&rectTabCtl);
int resX = rectTabCtl.right + 15;
int resY = rectTabCtl.top;
//RESULTS AREA
results.Create(IDD_RESULTSDIALOG, this);
results.SetWindowPos(this, resX, resY, /*608, 19, */175, 135, SWP_SHOWWINDOW);
results.ShowWindow(SW_SHOW);
}
Моя проблема в том, что у моего диалогового ресурса (IDD_REULTSDIALOG) есть свойства, называемые X Pos и Y Pos, которые, как представляется, переопределяют мой SetWindowPos () (и маленькая вкладка свойств в редакторе ресурсов не позволит мне оставить эти поля пустыми). Если я установлю эти свойства на 0, 0, мой диалог появится в верхнем левом углу основного диалога. Если я установлю их в число, я могу угадать и протестировать их примерно там, где я хочу, но затем запуск приложения с разными разрешениями приведет к тому, что диалог появится в разных местах. В любом случае, я действительно хочу поместить диалоговое окно относительно другого элемента управления в главное диалоговое окно (в данном случае элемент управления с вкладками). Почему мой SetWindowPos () игнорируется, и как мне это исправить? Должен ли я использовать другую функцию?