我希望将重点放在使用CDHtmlDialog
调用的doModal()
框中的输入字段。
我创建了以下代码:
CComPtr<IHTMLInputElement> pincode;
GetElementInterface(_T("pincode"),
IID_IHTMLInputElement, (void **) &pincode);
if (pincode == NULL) {
return;
}
pincode->select();
//set the focus
CComPtr<IHTMLElement2> pincode2;
GetElementInterface(_T("pincode"),
IID_IHTMLElement2 , (void **) &pincode2);
if (pincode2 == NULL) {
return;
}
pincode2->focus();
但是当我运行我的应用程序时,焦点未设置为输入字段。选择了该字段:光标在其中,所以乍一看我们可能认为我们可以在输入字段中写入,但是当我们在字段中写入没有任何内容发生时!
有人知道我做错了吗?
答案 0 :(得分:1)
你不能在你的HTML代码中使用javascript吗?
像document.getElementById('pincode').focus();
之类的东西,它可能是一个简单的解决方法。
我总是喜欢使用javascript直接在HTML中执行与UI相关的代码,(我认为CDHtmlDialog
有时会有一些深奥的行为)。
我希望这会有所帮助