请教如何用code在一个dialog(resizable window)里面改变Tab order?
有一个Text Dialog,可以在里面输入多行,多字体的文字,可以修改文字的样式。现在的问题是我想把文字区域(text area, 是一个CRichEditView)的Tab Order放在OK Button 的前面,这样在输入完文字后就可以按Tab 键转到OK Button,这个Dialog 没有资源文件,所以只能用Code 来实现这个功能,我想默认的Tab Order应该是Dialog 内放入各种Control 的顺序。我想在OnInitDialog() 的结尾用以下Code来实现这个功能。
m_editCtrlView->SetWindowPos(GetNextDlgTabItem(GetDlgItem(IDOK), TRUE), 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
return false;
其中m_editCtrlView就是这个CRichEditView, 但是却不能改变原来的Tab Order。
我们这个项目的老外给的分析如下:
This may be a result of the resizable window implementation. The window is probably processing a window size command after the OnInitDialog call and the resizable window handling could be using SetWindowPos in a way that messes up the Zorder
请教各位大虾能否赐教,如何能实现这样的功能,非常谢谢!