Тема: передача фокуса элементу окна

Есть модальный диалог от AcUiDialog. При появлении формы нужно передать фокус ввода эдиту. В InitDialog это делать бессмысленно, по-этому написал функцию OnShowWindow.
Еще на форме есть кнопка, нажав на которую мы попадаем в акад

void CPROneEditDlg::OnBnClickedCoords()
{

  ads_point pSrc;
  ...
  BeginEditorCommand();
  if (acedGetPoint(NULL,_T("\nТыкни точку:"),pSrc) != RTNORM) 
  ...
  acedPostCommandPrompt();
  CompleteEditorCommand();
}

Вот функция появления окна. Если закоментировать последние две строки (именно они передают фокус ввода), то все работает, но это не интересно.

void CMyDlg::OnShowWindow(BOOL bShow, UINT nStatus)
{
  CAcUiDialog::OnShowWindow(bShow, nStatus);
  this->GotoDlgCtrl(GetDlgItem(IDC_EDIT_TEXT));
  GetDlgItem(IDC_EDIT_TEXT)->SetCapture();    
}

А вот если не коментировать, то все действия нада повторять дважды:
- два раза клацнуть на кнопку, чтоб выпать в акад,
- два раза, чтоб выбрать точку (при попадании в графическое окно, курсор стрелочка а не перекрестье и становится перекрестьем после повторного нажатия)
- потом появляется форма, а мышка исчезает. первый раз клацаем, чтоб появилась мышка, а потом на выход из формы

Как с этим бороться?
PS: OnAcadKeepFocus в классе диалога есть, а сам диалог вызывается из немодального.

Re: передача фокуса элементу окна

Может все-таки SetFocus(), а не SetCapture() ?

Re: передача фокуса элементу окна

м-да, с SetFocus работает :)
хотя SetCapture я ставил специально, т.к. по SetFocus фокус не передавался :)
дурдом, короче говоря.

Александр, спасибо за помошь