【高分求教】如何设置焦点--在弹出非模态对话框后重新设置EditView的焦点
本人正在做一个类似关键字自动补全的界面,遇到一个问题如下:
弹出非模态对话框后,对话框就置顶了,不能继续输入文本了,需要用鼠标点一下EditView才能继续输入。
请教如何才能将焦点设置到EditView上。
一些补充说明:
文档类型:多文档;
View的父类:CEditView;
非模态对话框: 继承自CDialog,弹出属性设置为Popup。
已经做的试验:
在View类的OnKeyDown响应函数中尝试了以下方法:
1、
SetWindowPos(&this->wndTop, ct.left, ct.right, ct.Width(), ct.Height(),SWP_NOSIZE);
SetFocus();
2、
::SetActiveWindow(this->GetSafeHwnd());
3、
SetForegroundWindow();
SetFocus();
4、
::SetForegroundWindow(this->GetSafeHwnd());
以上方法均没有将焦点转移到对话框下面的EditView上面。
请教各位老大,该如何设置?或者上面的方法是否哪里有问题?