0

我想将重点放在我的CDHtmlDialog框中的一个 Input 字段上,称为 using 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();

但是当我运行我的应用程序时,焦点没有设置到输入字段。字段被选中:光标在其中,所以乍一看我们可能认为我们可以在输入字段中写入,但是当我们写入时,字段中什么也没有发生!

有人知道我在做什么错吗?

4

1 回答 1

1

你不能在你的html代码中使用javascript吗?之类document.getElementById('pincode').focus();的,这可能是一个简单的解决方法。

我总是更喜欢使用 javascript 直接在 HTML 中编写与 UI 相关的代码,(我认为CDHtmlDialog有时会有一种深奥的行为)。

我的两分钱

我希望这有帮助

于 2013-07-03T09:22:22.073 回答