MFC:如何设置CEdit框的焦点?
社区首页 >问答首页 >MFC:如何设置CEdit框的焦点?问MFC:如何设置CEdit框的焦点?ENStack Overflow用户提问于 2020-01-30 23:11:24回答 1查看 1.4K关注 0票数 3我正在进行我的第一个简单的MFC项目,但我正在努力解决一个问题:希望在一个对话框中设置所有CEdit框的焦点。我的想法是当打开对话框时,焦点放在第一个编辑框上,然后用'tab‘在它们之间交换。
我看到了SetFocus()方法,但是我不能正确地应用它。而且,我也找不到用特定键实现焦点顺序的解决方案。
提前感谢每一个花时间来帮助我的人!
c++cvisual-c++mfccmfctoolbar关注问题分享EN回答 1推荐最新Stack Overflow用户发布于 2020-01-30 23:20:40
当您的对话框首次通过在您的SetFocus函数中调用OnInitDialog()来显示时,您可以将焦点设置为给定的控件。但是,如果这样做,则OnInitDialog() 必须返回FALSE。
代码语言:javascript复制BOOL MyDialog::OnInitDialog() {
CDialog::OnInitDialog(); // Call base class member
GetDlgItem(IDC_MYEDIT)->SetFocus();
//..
return FALSE; // Otherwise, the framework will reset the focus to its default
}来自M/S文件
返回值
指定应用程序是否已将输入焦点设置为对话框中的某个控件。如果OnInitDialog返回非零,则Windows将输入焦点设置为默认位置,这是对话框中的第一个控件。只有在将输入焦点显式设置为对话框中的一个控件时,应用程序才能返回0。
收藏分享票数 4EN页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持原文链接:https://stackoverflow.com/questions/59995885
复制相关文章